我有一张桌子,我用class =" shift"绑定了所有元素。点击功能。
现在,因为我还需要在元素的一部分上使用另一个click事件,我想在鼠标进入元素时取消绑定元素上的click事件,并在我离开时重新绑定(用于某些触摸事件和诸如此类的东西)
现在,我像这样绑定
$("table").on("touchstart mousedown",".shift", function(e){ ... })
但是当我尝试解除特定元素的绑定时,说它有一个类="选择"添加以区分我使用的当前元素:
$("table").off("touchstart mousedown",".shift.selected")
哪个不起作用....
我可以立即删除所有处理程序,但删除所有处理程序并在鼠标离开后立即重新插入它将是浪费。
那么,在事件绑定到所有当前和未来元素之后,有没有办法在单个元素上删除处理程序?
提前致谢!
答案 0 :(得分:0)
当鼠标进入时,您不需要取消绑定元素上的click事件。我知道,单击点击事件绑定的内部元素时会触发元素点击事件,对吧?你可以阻止:
内部元素的click处理程序必须如下所示:
$("some inner element").click(function(event) {
//That's what are you looking for ;)
event.stopPropagation();
//You code here
});
event.stopPropagation()
将阻止事件冒泡DOM树,防止任何父处理程序被通知事件。