如何清除/删除JavaScript事件处理程序?
给定以下HTML片段:
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
我需要删除/清除onsubmit事件的处理程序,并使用jQuery或任何其他JavaScript使用风格注册我自己的。
要做到这一点没有任何图书馆:
document.getElementById("aspnetForm").onsubmit = null;
用jQuery
$('#aspnetForm').unbind('submit');
然后继续添加你自己的。
试试这个,这对我有用:
$('#aspnetForm').removeAttr('onsubmit').submit(function() { alert("My new submit function justexecuted!"); });
看到这个更多的细节。
对于jQuery,如果您使用.live绑定事件处理程序,则可以使用.die来解除与.live绑定的所有实例的绑定。