2

我正在尝试从所有 a 标记中取消绑定事件处理程序(单击),但不知何故它不起作用。你们知道为什么吗?

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

它将始终输出当前的 onClick 函数。

谢谢

4

2 回答 2

4

jQuery.unbind()仅删除由 jQuery 分配和维护的处理程序。您的内联处理程序不受影响。

如果要删除内联属性,请使用removeAttr().

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

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

于 2010-07-29T14:12:17.263 回答
0
$('a').unbind('click');

或者

$('a').each(function() {
  return false;
});
于 2010-07-29T15:42:45.797 回答