我正在使用JavaScript和JQuery,jquery.js中有关于click事件的参考资料。
在这里,我正在尝试覆盖click事件,但并没有成功。 即使已经被覆盖,它仍然执行旧的而不是新的。 是否有任何按优先级加载事件的方法?
在这里,我正在尝试覆盖click事件,但并没有成功。 即使已经被覆盖,它仍然执行旧的而不是新的。 是否有任何按优先级加载事件的方法?
如果我理解正确,这对你有效:
$('.xxx').off('click').on('click', function(e) {
e.preventDefault();
}
$("#button").unbind("click").bind("click", function(){
alert("this is Overridden click event!");
});
$(SELECTOR).removeAttr('onclick');
<button onclick="foo()"...
。 - Sajjan Sarkar.click() 每次调用都会添加一个新的处理程序,而不是覆盖现有的处理程序。执行顺序将按绑定的顺序进行。
您可以使用 $(id).unbind() 清除该元素上的处理程序,然后再添加新的处理程序。