jQuery中是否有方法检测元素是否已经有绑定事件?
jQuery中是否有方法检测元素是否已经有绑定事件 换句话说,我只想在元素以前没有绑定它的情况下绑定事件。。否则我会触发两次 我正在使用jQuery1.2.7jQuery中是否有方法检测元素是否已经有绑定事件?,jquery,Jquery,jQuery中是否有方法检测元素是否已经有绑定事件 换句话说,我只想在元素以前没有绑定它的情况下绑定事件。。否则我会触发两次 我正在使用jQuery1.2.7 $('#someId').data('events') 应该为您提供绑定到此元素的事件。Darin给出的答案是正确的,但在这种情况下,我更喜欢在绑定函数时向元素添加类,并在尝试绑定到元素时检查是否添加了类 例如 如果有人偶然发现这篇文章。这在较新版本的jQuery中已被更改。 访问绑定到元素的事件列表的当前代码如下 使用ID(2种方式)
$('#someId').data('events')
应该为您提供绑定到此元素的事件。Darin给出的答案是正确的,但在这种情况下,我更喜欢在绑定函数时向元素添加类,并在尝试绑定到元素时检查是否添加了类 例如
如果有人偶然发现这篇文章。这在较新版本的jQuery中已被更改。 访问绑定到元素的事件列表的当前代码如下 使用ID(2种方式): 使用类(2种方式):
我以前在使用这种方法时遇到过一些麻烦(尽管这是我所知道的唯一一种)。我怀疑事件是否是使用.live和not.bind绑定的。这会变得不稳定。只是提醒一下:)@Darin Dimitrov谢谢,我明白了,我该怎么数呢?我需要一个正确/错误的结果。。我试过增加长度,但没用。请考虑我使用jQuery 1.2。7@lnrbob谢谢你的提醒。我实际上没有live(),因为我使用的是旧的jqueryversion@Patrick,
if($('#someId').data('events')['click']){alert('click is assigned');}else{alert('click is not assigned');}
@Darin-大概您可以设置变量或返回true或false,而不是触发警报?
$('a').each(function(index, elem) {
if ($(elem).hasClass('added')) {
return;
}
else {
$(elem).click(function() {
alert("clicked");
})
.addClass("added");
}
})
$._data($('#IDValue')[0]).events
$._data($('#IDValue')[0], "events")
$._data($('.classValue')[0], "events")
$._data($('.classValue')[0]).events