如何清除/删除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绑定的所有实例的绑定。