Мне нужно проверить, не связаны ли какие-либо события с элементом.
Например
$(".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');
});
}
using Jquery v. 1.10.1
Начиная с jQuery 1.8, event data
о event data
больше недоступны для данных. Прочтите эту запись в блоге jQuery. Теперь вы должны использовать это:
jQuery._data(element, "events")
Код
$('.someOtherSelector').each(function(){
console.log($._data(this, "events"));
});