Удаление обработчиков событий детей - PullRequest
2 голосов
/ 29 июля 2010

Я пытаюсь отсоединить обработчики событий (щелчок) от всех a-тегов, и почему-то это не работает.Ребята, вы знаете, почему?

// Remove eventhandlers
    row.find('a').each(function(){
        $(this).unbind('click');
        alert($(this).attr("onClick"));
    });

Он всегда будет выводить текущую функцию onClick.

Спасибо

Ответы [ 2 ]

4 голосов
/ 29 июля 2010

jQuery's .unbind() удаляет только те обработчики, которые назначены и поддерживаются jQuery.На ваши встроенные обработчики это не влияет.

Если вы хотите удалить встроенный атрибут, используйте removeAttr().

row.find('a').each(function(){
    $(this).removeAttr('onClick');
    alert($(this).attr("onClick"));
});

http://api.jquery.com/removeattr/

0 голосов
/ 29 июля 2010
$('a').unbind('click');

или

$('a').each(function() {
  return false;
});
...