删除CSS transitionend事件侦听器无法正常工作

时间:2014-06-17 20:51:43

标签: javascript css addeventlistener

我在尝试删除css transistionend事件侦听器时遇到问题。我可以添加监听器:

e.addEventListener('transitionend',function(event) {
    transitionComplete( event.propertyName );
},false);

我想用

删除它
e.removeEventListener('transitionend',function(event) {
    transitionComplete( event.propertyName );
},false); 

无论我把removeEventListener放在哪里,都不会删除listen。我能做错什么?

我没有使用jquery。

1 个答案:

答案 0 :(得分:8)

不要使用匿名函数,而是命名函数并将删除放在事件处理程序中。

var func = function(event) {
   transitionComplete( event.propertyName );
    e.removeEventListener('transitionend',func);
};

e.addEventListener('transitionend',func, false);