如何从元素及其后代中排除单击处理程序
How to exclude a click handler from an element and its descendants
如何将我的#lightbox
从附加到正文的处理程序中排除?
$('body :not(#lightbox)').click(function() {
$('#lightbox').hide();
});
lightbox居中。当用户从框中向左或向右点击时,它应该关闭。当单击#lightbox
或它的任何后代时,不应该发生这种情况。
一个选项是阻止lightbox
元素的click事件传播,但它可能不是安全的选项,因为它可以破坏其他全局处理程序。
另一个是查看事件目标是否在lightbox
元素内部
$('body').click(function (e) {
if (!$(e.target).closest('#lightbox').length) {
$('#lightbox').hide();
}
});
您可以通过放置以下脚本从灯箱中删除处理程序
$(document).ready(function(){
$('body :not(#lightbox)').unbind('click');
});
但请注意,在此脚本之后,您的点击事件处理程序从未触发。你也可以在你的函数中返回false,这将不会处理该函数的后续脚本。
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 在单击href链接的同时下载文件
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 使图像在单击时展开到不大于浏览器
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 使用 jQuery 创建可单击的行并排除子元素
- 单击事件以排除子项(主干.js)
- 如何在文档单击时排除元素
- 如何在 javascript 中从单击行中排除 标签
- 如何从ng单击操作中排除元素
- Jquery排除单击时的第一个td事件
- 如何从元素及其后代中排除单击处理程序
- 从单击事件处理程序 (jquery) 中排除元素
- jQuery-排除单击的元素的父元素