我有一个打开和关闭固定元素的脚本。这是一个覆盖黑色背景的地方(比如点击视频时的Facebook),当用户点击黑色的任何地方时,叠加层将被关闭。但是,如果用户点击内部容器,或任何元素应保持打开状态。
如果我点击任何一个孩子,我的脚本会关闭内部容器。如何防止这种情况?
docu = $(document),
quot = $('.quote'),
quot_over = $('.quote_overlay'),
quot_cont = $('.quote_container');
quot.click(function(event) {
quot_over.toggle(1, function() {
docu.click(function(event) {
var target = $(event.target);
if(!target.is(quot_cont)) {
quot_over.hide();
docu.unbind('click');
}
});
});
});
答案 0 :(得分:1)
我不确定为什么你会在那里有这条线:
quot_over.toggle(1, function()
但是在它评估点击的位置之前立即关闭它,所以你需要删除它。
其次,您只是检查点击是否在quote_container
上,而不是检查是否在quote_container
的任何一个孩子身上。
使用JSFiddle:http://jsfiddle.net/dsnosw5p/4/