随身笔记
随身笔记

用jQuery._data()判断元素或者DOM绑定事件的情况

jquery 判断 元素 DOM 绑定

一个jquery对象绑定了多少个事件或者一个事件绑定了多少次,可以使用$._data()内部函数去判断。

在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的源码中也有体现。

 

案例:

//$('#d')绑定了click两次事件
$('#d').click(function(){alert(1);});
$('#d').click(function(){alert(2);});


var objEvt = $._data($("#d")[0], "events");  //获取DOM元素
 if (objEvt && objEvt["click"]) {  //DOM元素存在 并且 元素绑定了click事件
    alert("bind click");
 }else {
    alert("Not bind click");
}


objEvt.click.length  //click绑定了两次事件

 

没有标签
首页      前端资源      用jQuery._data()判断元素或者DOM绑定事件的情况

随身笔记

用jQuery._data()判断元素或者DOM绑定事件的情况
jquery 判断 元素 DOM 绑定 一个jquery对象绑定了多少个事件或者一个事件绑定了多少次,可以使用$._data()内部函数去判断。 在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程…
扫描二维码继续阅读
2016-03-28