我想知道是否可以在不引用应删除的事件处理函数的情况下删除事件侦听器。
Jquery的$().unbind('touchmove')
将无效,因为事件监听器是使用Javascript的addEventListener('touchmove', handlerFunction)
添加的,而不是Jquery的bind
函数。
removeEventListener('touchmove')似乎不起作用,这与javascript函数规范一致
答案 0 :(得分:0)
您可以获取DOM元素的所有事件监听器,并删除一个/全部:
var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded", eventlistener.listener, eventlistener.useCapture);
答案 1 :(得分:-2)
您应该始终将事件添加到特定对象,以便稍后访问它们,请尝试此操作。
添加:
window.addEventHandler( 'touchmove', function );
删除:
window.removeEventListener( 'touchmove', function );