Javascript 启动事件侦听器后删除它
我有下面的HTMLJavascript 启动事件侦听器后删除它,javascript,coffeescript,Javascript,Coffeescript,我有下面的HTML <button id="btn" type="button">Click Me!</button> <div id="outside"> <div id='inside" class="animated"> </div> </div> 我有,我不明白我的错在哪里 谢谢(请不要删除此项)。此项: @inside.addEventListener 'animat
<button id="btn" type="button">Click Me!</button>
<div id="outside">
<div id='inside" class="animated">
</div>
</div>
我有,我不明白我的错在哪里
谢谢(请不要删除此项)。此项:
@inside.addEventListener 'animationend', @handler(event), no
# ---------------------------------------^^^^^^^^^^^^^^^
不会做你认为它会做的事。这实际上是在调用@handler
,而不是传递对它的引用,因此这与说:
x = @handler(event)
@inside.addEventListener 'animationend', x, no
因此,@handler(event)
在addEventListener
之前被调用
您希望使用函数引用,以便:
以及:
x = @handler(event)
@inside.addEventListener 'animationend', x, no
@inside.addEventListener 'animationend', @handler, no
@sheet.removeEventListener @animationEvent, @handler, no