js怎样判断某个dom元素是否绑定了js事件呢?

2022年05月22日 阅读330次 分类:开发 标签:jqueryjs微码

版权声明:本文为博主原创或转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:http://www.zhuyanjun.cn/development/1896.html

js 有没有办法 判断一个dom元素是否已经绑定了某个事件?

据我所知原生的不好弄(反正我是没办法搞),jquery的实现其实很简单。
jquery的事件都是事件委托,所有的事件都被它存了起来,判断某元素是否绑定了某事件,只需要在事件堆栈里面查询一遍就知道了

用原生的,确实比较痛苦。不能判断是否已经绑定,但是如果处理函数(对象)未变的话,是可以 remove 的,用 removeEventListener 。

以下代码我在jquery3.5.1环境测试,可以正常运行:

// 绑定事件
$('.el').click(function(){
    //...
});


// 查询刚才绑定的事件
var eventList = $._data($('.el').get(0), 'events');
console.log(eventList);


关联文章

(本篇完)

是不是学到了很多?可以

版权声明:本文为博主原创或转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:http://www.zhuyanjun.cn/development/1896.html