jquery 获取元素绑定了哪些事件
发布网友
发布时间:2022-04-24 21:55
我来回答
共1个回答
热心网友
时间:2022-04-20 12:02
在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样:
$.data(domObj,'events');//或者$('selector').data('events')
而从1.8.0版本开始,jQuery突然不支持这样使用了,而是改到了一个叫'_data'的函数功能上了,即,1.8.0及以后的版本你可以这么用:
$._data(domObj,'events');//注意,这里不能像$('selector')._data('events')这样用了。
要想写出兼容兼容各个jQuery版本的方式,这样获取即可:
var eventsData = $.data(domObj,'events') || $._data(domObj,'events');//这个改变在easyui 1.3.1的源码中也有体
ps:
1.接受的domObj节点必须为dom节点对象,不能为jquery对象,如果是获取的jquery对象,要用get(0)或者[0]转为dom对象
2.只能获取到使用jquery方法绑定的参数 on ,live 等。如果是直接写到元素上的事件是不能获取的,使用其他非jquery设置的事件也是无法获取的