Javascript 解除绑定内联onClick在jQuery中不起作用?
好吧,我想知道如何在jQuery中解除内联onclick事件的绑定。您可能认为Javascript 解除绑定内联onClick在jQuery中不起作用?,javascript,jquery,Javascript,Jquery,好吧,我想知道如何在jQuery中解除内联onclick事件的绑定。您可能认为.unbind()可以工作,但实际上不行 要亲自测试这一点,请使用以下HTML和JavaScript: function UnbindTest() { $("#unbindTest").unbind('click'); } function BindTest() { $("#unbindTest").bind('click', function() { alert("bound!"); }); }
.unbind()
可以工作,但实际上不行
要亲自测试这一点,请使用以下HTML和JavaScript:
function UnbindTest() {
$("#unbindTest").unbind('click');
}
function BindTest() {
$("#unbindTest").bind('click', function() { alert("bound!"); });
}
<button type="button" onclick="javascript:UnbindTest();">Unbind Test</button>
<button type="button" onclick="javascript:BindTest();">Bind Test</button>
<button type="button" onclick="javascript:alert('unbind me!');" id="unbindTest">Unbind Button</button>
感谢取消绑定使用bind
注册的事件处理程序,而不是通过onclick
或其他DOM0属性分配的事件处理程序。从文档中:
使用.bind()
附加的任何处理程序都可以使用.unbind()
删除
编辑:通过清除元素上的相关属性来解除绑定DOM0处理程序。我不得不去查一下jQuery的方法:。jQuery的取消绑定在
onclick
属性上不起作用-它只适用于通过bind
添加的函数,因此在$(…).data('events')
中可用。您必须使用removeAttr
来删除onclick
阅读更多信息
$("#unbindTest").get(0).onclick = "";