#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть один <a>
тег и привязать к нему два события. Как я могу получить информацию о других событиях, связанных с ним?
Следующий код объясняет, что я имею в виду:
<a href="#" id="sample" class="sample-cls">Click me</a>
$(function(){
$('#sample').live("click", function(){
sampleFunction();
})
$('.sample-cls').live("click", function(){
// How to get information that to this link
// is attached another event, that run sampleFunction() ?
})
})
К сожалению, $('#sample').data('events')
не включает события, связанные с помощью live()
.
Ответ №1:
// List bound events:
console.dir( jQuery('#elem').data('events') );
// Log ALL handlers for ALL events:
jQuery.each($('#elem').data('events'), function(i, event){
jQuery.each(event, function(i, handler){
console.log( handler.toString() );
});
});
Смотрите это
Конечно, это может быть дополнительно улучшено в соответствии с вашими потребностями.
Комментарии:
1. Я не думаю, что это сработает, когда события связаны с
live
as в вопросе.2. Вот что я создаю новый вопрос по этому поводу 😉 Этот код возвращает мне «неопределенный»