gpt4 book ai didi

javascript - 如何删除由匿名函数声明的元素的事件?

转载 作者:搜寻专家 更新时间:2023-11-01 05:07:01 24 4
gpt4 key购买 nike

示例代码:

element.addEventListener('click',function () {
this.style.backgroundColor = '#cc0000'
//after element was clicked once what to do here to remove this event ?
},false)

在哪里做,是否可以直接在我放置评论的函数中进行?

最佳答案

如果您使用 addEventListener() 添加事件,您必须有对该函数的引用,以便能够随后将其删除。

使用只有 arguments.callee 才有可能的匿名函数,而且只有当你在函数本身中时:

element.addEventListener('click', function() {
this.style.backgroundColor = '#cc0000';
this.removeEventListener('click', arguments.callee);
}, false);

但请注意,这在 ES5“严格模式”中是不合法的。

因此,最好为回调命名,然后在调用 removeEventLister() 时使用该名称:

element.addEventListener('click', function cb() {
this.style.backgroundColor = '#cc0000';
this.removeEventListener('click', cb);
}, false);

演示在 http://jsfiddle.net/alnitak/RsaVE/

关于javascript - 如何删除由匿名函数声明的元素的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com