我想创建一个自定义事件,处理transitionend
事件的所有不同供应商前缀版本(即webkitTransitionEnd
,mozTransitionEnd
,msTransitionEnd
,{{ 1}}和W3C oTransitionEnd
事件。)
理想情况下,我希望能够使用我想要创建的自定义transitionend
事件,如下所示:
transitionend
不幸的是,我不知道如何做到这一点。我正在调查elem.addEventListener('myTransitionEnd', function (evt) {
// Called whenever any transitionend event fires.
});
,但我无法弄清楚如何将document.createEvent
与document.createEvent
和initEvent
一起使用来实际启动我的自定义dispatchEvent
事件当任何适用的transitionend
事件触发我之后使用自定义事件设置的某些任意DOM元素时。
对代码的任何帮助都将非常感激 此外,如果有更好的方法解决此问题而不是创建自定义事件,请告诉我 最后,我真的只想拥有一个尽可能模块化的解决方案(我希望在我学习JS的过程中学习一些关于自定义事件的东西)。
谢谢。
答案 0 :(得分:1)
一种简单的方法是创建一个包含所有transitionend事件的全局变量(字符串)。然后为该字符串添加一个eventlistener。例如:
//your global var:
window.endTransition = 'webkitTransitionEnd mozTransitionEnd msTransitionEnd oTransitionEnd transitionend';
//your event
elem.addEventListener(window.endTransition, function(e){
//your awesome piece of JS
});