使用slim.js的transitionend-event绑定

时间:2018-10-01 17:49:52

标签: javascript slim-js

我尝试通过slim.js中的模板添加事件处理程序。

  

所有本地HTMLElement事件都通过保留属性来支持,   省略“ on”前缀。 Slim元素可以通过添加事件监听器   模板。例   https://github.com/slimjs/slim.js/wiki/Events-&-Interactivity

如果添加了特定的类,我有一个可以启动动画的元素。

<li transitionend="aaa" bind:class="activeImg.c">
  <img bind:src="activeImg.s">
</li>

在组件中:

aaa() {
 console.log("test")
}

因此,永远不会调用处理程序函数。如果我没有苗条地尝试:

<li ontransitionend="alert(document)" bind:class="activeImg.c">
 <img bind:src="activeImg.s">
</li>

有效。

我想知道为什么它不能按应有的方式工作。 ontransitionend可能不是“本地”事件吗?我试图使用mdn参考(https://developer.mozilla.org/en-US/docs/Web/Events)来理解这一点。但是根据细长的Wiki页面的说明,我无法确定哪些事件是本地事件。

  • 如何在不手动尝试的情况下找出支持哪些事件?
  • 如果我想将“非本地”事件绑定到组件中的处理程序,该怎么办?

1 个答案:

答案 0 :(得分:1)

请在github上发布一个问题。我将事件添加到已知事件中。

与此同时,您可以仅添加侦听器,直到添加侦听器为止。

您还可以扩展苗条来编写自己的自定义指令,以支持使用任何名称调度的任何事件。

unloadNamespace('shinyjs')

希望这会有所帮助。