Jquery off()表示特定元素

时间:2016-07-09 11:12:26

标签: javascript jquery

我有一张桌子,我用class =" shift"绑定了所有元素。点击功能。

现在,因为我还需要在元素的一部分上使用另一个click事件,我想在鼠标进入元素时取消绑定元素上的click事件,并在我离开时重新绑定(用于某些触摸事件和诸如此类的东西)

现在,我像这样绑定

$("table").on("touchstart mousedown",".shift", function(e){ ... })

但是当我尝试解除特定元素的绑定时,说它有一个类="选择"添加以区分我使用的当前元素:

$("table").off("touchstart mousedown",".shift.selected")

哪个不起作用....

我可以立即删除所有处理程序,但删除所有处理程序并在鼠标离开后立即重新插入它将是浪费。

那么,在事件绑定到所有当前和未来元素之后,有没有办法在单个元素上删除处理程序?

提前致谢!

1 个答案:

答案 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树,防止任何父处理程序被通知事件。