我需要检查元素上是否已经绑定了一些事件。

例如

$(".animate").click(function(){
    alert('Here comes action');
});




$(".someOtherSelector").click(function(){
    alert('some other action');
});


的HTML

<a class="animate"></a>
<a class="someOtherSelector animate"></a>


在第二个函数中,我需要检查此元素上是否已经绑定了一个事件。如果是这样,则不应执行alert('some other action');

我正在使用jQuery 1.10.1版。

最佳答案

您可以获取事件$(".someOtherSelector").data('events'),然后检查所需的事件是否存在。

​var events = $._data( $(".someOtherSelector")[0], "events" );
if(events.indexOf("click") == -1) {
  $(".someOtherSelector").click(function(){
    alert('some other action');
  });
}

07-24 13:38