在Scalajs React中为UiKit事件添加EventListeners

时间:2016-12-16 15:56:22

标签: javascript events uikit scalajs-react

我正在使用此代码形式:

dom.document.getElementById("contents").addEventListener("click", {
  (e0: dom.Event) => println("Got the click event at top level!")
}, false)

在Reactjs中试验事件捕获。这适用于click事件。但是,当尝试使用可嵌套组件的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出于某种原因吞下了自己的事件?感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

显然这是UIKit依赖于使用jquery的.trigger()来发送自定义事件的结果,除了通过jquery之外,通常无法监听这些自定义事件:

https://bugs.jquery.com/ticket/11047

我采用手动在页面设置中添加jquery侦听器并通过普通的@JSExport方法回调到Scalajs代码。