如何取消绑定通过jQuery绑定的事件处理程序而不使用jQuery

时间:2010-10-09 21:51:37

标签: javascript jquery events

说我有以下jQuery:

$('#myelement').bind('click', foo);

如何在不使用jQuery的情况下取消绑定此事件?

在DOM元素上的任何这些方法中都没有显示该事件:

var domElement = document.getElementById('myelement');
domElement.onclick // == null
domElement.click // == undefined

那么如何在不使用jQuery的情况下取消绑定呢?

$('#myelement').unbind()

1 个答案:

答案 0 :(得分:2)

如果您使用的是最新版本的jQuery,则可以使用:

delete $.cache[document.getElementById("myelement")[$.expando]].events.click;

You can test it here

请注意,如果要清除所有处理程序,可以使用jQuery的.removeEvent()实现完全清理。