我正在使用基于 jQuery 的 JavaScript 库,它允许移动触摸设备的触摸手势toe.js。
toe.js 允许我添加一个tap
类似于点击事件的事件,因此我启用tap
了所有当前和未来的.button
元素:
$(document)
.on('tap', '.button', function() {
tapAction($(this));
});
function tapAction($btn) {
// do stuff
// disable all event handlers
$btn.off();
}
但是,我不知道如何删除此事件处理程序;off()
不工作......当我使用 Chrome 的开发工具检查元素时,所有的触摸事件处理程序仍然存在于元素上。
我可以做到$(document).off()
,这行得通,但这也删除了所有元素的事件,包括当前和未来,这不是我想要的:(
我查看了 toe.js 的源代码,但找不到解除绑定事件的方法。那么如何删除所有元素的事件侦听器,最好使用 jQuery?