Jquery off() 用于特定元素
Jquery off() for a specific element
我有一个表格,其中我用class="shift"将所有元素绑定到一个点击函数。
现在,因为我还需要在元素的一部分上使用另一个单击事件,所以我想在鼠标进入元素时取消绑定元素上的单击事件,并在我离开时重新绑定(用于某些触摸事件等等)
现在,我这样绑定
$("table").on("touchstart mousedown",".shift", function(e){ ... })
但是当我尝试取消绑定特定元素时,假设它添加了 class="selected" 以区分我使用的当前元素:
$("table").off("touchstart mousedown",".shift.selected")
这行不通....
我可以一次删除所有处理程序,但是删除所有处理程序并在鼠标离开后立即重新插入它们是浪费。
那么,在事件绑定到所有当前和未来的元素后,有没有办法删除单个元素上的处理程序?
提前感谢!
鼠标
进入时,无需取消绑定元素上的单击事件。我知道,当您单击绑定了单击事件的内部元素时,将触发元素单击事件,对吗?你可以阻止它:
内部元素的单击处理程序必须如下所示:
$("some inner element").click(function(event) {
//That's what are you looking for ;)
event.stopPropagation();
//You code here
});
event.stopPropagation()
将防止事件在 DOM 树中冒泡,从而防止任何父处理程序收到事件的通知。
相关文章:
- 用于检查数组中是否存在元素的javascript自定义方法
- 在ajax成功后,cluetip不适用于首次点击活动元素
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- Rails/Javascript链接到用于切换多个元素的函数
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 我们怎样才能将内含子J用于一组特定的元素
- querySelectorAll不适用于指定的元素
- 为什么样式属性不适用于使用DOMParser创建的元素
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 用于各个元素的Ajax加载程序
- 使用jquery验证函数不适用于select元素
- 为什么Bootstrap typeahead不适用于具有相同ID的输入元素
- 用于呈现kbd标记元素的Javascript
- 单击不适用于新元素
- 事件不适用于通过Ajax推杆的元素
- 字符计数不适用于动态创建的元素
- 数组函数不适用于从元素文本创建的JavaScript数组
- javascript正则表达式,用于编辑元素内部的css样式属性
- 在函数中定位动态创建的HTML元素(用于追加事件 - 而不是点击!)jQuery
- 使用 JavaScript 定位浮动元素(用于动画)