取消绑定内联onClick在jQuery中不起作用?

2021/01/31 10:21 · jquery ·  · 0评论

好的,我想知道如何在jQuery中取消绑定内联onclick事件。您以为.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>

如您所见,取消绑定不会取消绑定内联onclick事件……但是,它确实可以取消绑定添加了的click事件bind()

因此,我想知道是否有一种方法可以解除内联onclick事件的绑定,而不需要执行以下操作:

$("#unbindTest").get(0).onclick = "";

谢谢

jQuery的unbind不适用于onclick属性-它仅适用于通过添加的功能,bind因此可在中使用$(...).data('events')您必须使用removeAttr删除onclick

阅读此问题以获取更多信息。

unbind取消绑定已注册的事件处理程序bind,而不是通过onclick或其他DOM0属性分配的事件处理程序从文档:

.bind()可以使用删除任何已附加的处理程序.unbind()

编辑:通过清除元素上的相关属性来解除DOM0处理程序的绑定。我不得不去仰视这样做的jQuery的方式:removeAttr

本文地址:http://jquery.askforanswer.com/quxiaobangdingneilianonclickzaijqueryzhongbuqizuoyong.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!