0
我使用這個代碼的形式:在Scalajs UIKit的事件添加事件偵聽器陣營
dom.document.getElementById("contents").addEventListener("click", {
(e0: dom.Event) => println("Got the click event at top level!")
}, false)
要在Reactjs事件捕獲實驗。這適用於點擊事件。然而,試圖做同樣的事情UIKit的事件可嵌套組件,如下時:
dom.document.getElementById("contents").addEventListener("start.uk.nestable", {
(e0: dom.Event) => println("Got the start event at top level!")
}, false)
,我沒有得到任何東西。 nestable documentation列出了四個事件名稱,我嘗試了所有這些名稱 - 但在操作嵌套時從未得到任何響應。我的理解是,如果沒有捕獲,事件應該冒泡到聽衆所在的頂層;但是當使用devtools監視整個文檔的事件時,似乎可嵌套事件並未被觸發。
不正確的事件類型?錯誤的事件名稱? UiKit出於某種原因吞噬了自己的事件?感謝任何幫助。
我猜'addEventListener'只會監聽本地事件https://developer.mozilla.org/en-US/docs/Web/Events。你需要使用jquery列出'start.uk.nestable'類似'$(「#contents」)。on('start.uk.nestable',function(){ println(「在頂部有啓動事件級別!「) });' – sandyJoshi
我認爲它可以聽自定義事件,但我還不清楚。 Jquery確實能夠完成監聽器綁定,所以這只是一個開始 - 我認爲scalajs的實現正在被UIKit用來與Jquery協同工作的事件命名空間絆住。 「[事件] DOT [命名空間]」等等。 – Greg
根據scalajs-react項目上的這個問題線程,它看起來是一個Jquery問題:https://github.com/japgolly/scalajs-react/issues/294 – Greg