我有一些带有onclick
属性的HTML。我想使用jQuery覆盖该属性。有没有办法使用jQuery删除单击处理程序?使用unbind doesn't work。
答案 0 :(得分:20)
答案 1 :(得分:8)
$("#theElement")[0].onclick = function() {
whatever();
};
// -- or --
$("#theElement")[0].onclick = null;
并不是jQuery会让标准的DOM功能和属性消失。 ; - )
答案 2 :(得分:4)
引用http://api.jquery.com/prop/使用.removeAttr()删除内联onclick事件处理程序并未在Internet Explorer 8,9和11中实现所需效果。为避免潜在问题,请使用.prop()代替。
所以这可以作为
完成$(function() {
$('a').prop('onclick', false);
});
答案 3 :(得分:0)
有一个插件,但你应该只在你需要的时候这样做。该插件为您提供了调用旧函数或完全忽略它的选项。
$(divElementObj).override('onclick', 'click', function(...));
答案 4 :(得分:0)
尝试给定选项,但部分工作,因为他们删除了一个但不是全部。
相反,我尝试将链接作为解决方法。我使用的是ver 1.4.2。
jQuery("selector")
.removeAttr("onclick").removeAttr("onmouseout").removeAttr("onmouseover");