如何创建自定义事件来处理所有转换结束事件
How can I create a custom event to handle all transitionend events?
我想创建一个自定义事件来处理transitionend
事件的所有不同供应商前缀版本(即webkitTransitionEnd
、mozTransitionEnd
、msTransitionEnd
、oTransitionEnd
和W3C transitionend
事件)。
理想情况下,我希望能够使用我想要创建的自定义transitionend
事件,如下所示:
elem.addEventListener('myTransitionEnd', function (evt) {
// Called whenever any transitionend event fires.
});
不幸的是,我不知道该怎么做。我正在研究document.createEvent
,但我无法弄清楚如何将document.createEvent
与initEvent
一起使用,并且dispatchEvent
在以后为我使用自定义事件设置的某些任意 DOM 元素触发任何适用的 transitionend
事件时实际触发我的自定义transitionend
事件。
任何有关代码的帮助将不胜感激。
此外,如果有比创建自定义事件更好的方法来解决此问题,请告诉我。
最后,我真的只是想有一个尽可能模块化的解决方案(我希望在我使用它时学习一两件事关于 JS 中的自定义事件)。
一个简单的方法是创建一个全局变量(字符串),其中包含所有转换结束事件。然后将事件侦听器添加到该字符串。例:
//your global var:
window.endTransition = 'webkitTransitionEnd mozTransitionEnd msTransitionEnd oTransitionEnd transitionend';
//your event
elem.addEventListener(window.endTransition, function(e){
//your awesome piece of JS
});
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- dropdown.js中的复杂事件处理
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 复选框,然后单击事件处理
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在jQuery事件处理程序中存储和重用超时
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 异步处理所有事件处理程序的方法