如何从附加到正文的处理程序中排除#lightbox
?
$('body :not(#lightbox)').click(function() {
$('#lightbox').hide();
});
Lighbox居中。当用户从框中向右或向左单击时,应该关闭它。当单击#lightbox
或其后代时,不应发生这种情况。
答案 0 :(得分:1)
一个选项是阻止来自lightbox
元素的点击事件传播,但它可能不是安全选项,因为它可能会破坏其他全局处理程序。
另一个是查看事件目标是否在lightbox
元素
$('body').click(function (e) {
if (!$(e.target).closest('#lightbox').length) {
$('#lightbox').hide();
}
});
答案 1 :(得分:0)
您可以通过放置以下脚本
从灯箱中删除处理程序$(document).ready(function(){
$('body :not(#lightbox)').unbind('click');
});
但请注意,在此脚本之后,您的click事件处理程序从未触发过。 此外,您可以在函数内返回false,这将不会处理该函数的其他脚本。