http://jsfiddle.net/mnbayazit/by3zy/2/
当我点击背景上的某个地方时,我希望弹出窗口消失。问题是,当我点击[X]或弹出窗口时它会消失。
想象一下,如果这让我的意图更清晰,那么它就是一个日历选择器。
我怎样才能做到这一点?
答案 0 :(得分:7)
为正文设置click
处理程序以删除弹出窗口。
为弹出窗口本身设置click
处理程序,在事件上调用stopPropagation()
,以防止它冒泡到身体。
大致是:
function showMyPopup(){
...
$(myPopupDiv).click(function(e){
e.stopPropagation();
});
}
function closeMyPopup(){
...
}
$(document.body).click(closeMyPopup);
答案 1 :(得分:0)
使用这种技术的基本要点是有一个包裹(或与z-index
分层的独立元素)“捕获”点击事件,并隐藏你想要的元素。我已经用一个如何工作的例子来更新你的小提琴,除了想象毯子元素的高度和宽度为100%(覆盖整个视口)。