Javascript 当我单击外部时,如何使此弹出框消失?
当我点击背景上的某个地方时,我希望弹出窗口消失。问题是,当我单击[X]或弹出窗口本身时,它消失了 想象一下,如果这让我的意图更加清晰的话,它是一个日历选择器Javascript 当我单击外部时,如何使此弹出框消失?,javascript,jquery,popup,Javascript,Jquery,Popup,当我点击背景上的某个地方时,我希望弹出窗口消失。问题是,当我单击[X]或弹出窗口本身时,它消失了 想象一下,如果这让我的意图更加清晰的话,它是一个日历选择器 我怎样才能让它做到这一点呢?这种技术的基本jist是有一个“捕获”点击事件并隐藏所需元素的包装(或用z-index分层的独立元素)。我已经用一个例子更新了你的提琴,说明了这是如何工作的,只是想象一下毯子元素的高度和宽度为100%(覆盖整个视口) 为正文设置单击处理程序以删除弹出窗口 为在事件上调用stopPropagation()的弹出窗口
我怎样才能让它做到这一点呢?这种技术的基本jist是有一个“捕获”点击事件并隐藏所需元素的包装(或用
z-index
分层的独立元素)。我已经用一个例子更新了你的提琴,说明了这是如何工作的,只是想象一下毯子元素的高度和宽度为100%(覆盖整个视口)
单击处理程序以删除弹出窗口
stopPropagation()
的弹出窗口本身设置单击
处理程序,以防止其冒泡到正文中function showMyPopup(){
...
$(myPopupDiv).click(function(e){
e.stopPropagation();
});
}
function closeMyPopup(){
...
}
$(document.body).click(closeMyPopup);
如果你粘贴了一个链接就好了。“更新”创建了一个新的修订版#,不知道您指的是哪一个。对不起,我不知道关于JSFIDLE。URL是这样的:呃……您的一揽子解决方案显示不正确,而且似乎不是一个很好的方法。啊。。太简单了!在今天的工作中,我花了好几个小时和它斗争,试图检查我点击的元素,以确定它是否应该关闭。