jquery - 如何关闭点击外部的 div(模态)。 Pinterest 和 Facebook 方式

标签 jquery css facebook pinterest

做模态的经典方法是一个带有内容(对话框)的 div 和一个 z-index 较低的 div(覆盖) 然后,我可以在叠加层上绑定(bind)点击事件并 Conceal 内容对话框。

<div class="dialog">...</div>
<div class="overlay" style="background-color:rgba(255, 255, 255, 0.9)">

但我注意到 Pinterest 和 Facebook 将其合并为一个 div。

<div class="overlay" style="background-color:rgba(255, 255, 255, 0.9);position: fixed; z-index: 9999;top: 0;right: 0;bottom: 0;left: 0;">
      <div class="dialog" style="position: static;"></div>
</div>

但是在这种方法中,我如何绑定(bind)点击事件以仅在没有对话框的覆盖层中关闭对话框?

http://jsfiddle.net/mCupS/9/

最佳答案

通过做这样的事情:

$('.modal').click(function(){
     $('.modal, .inner').hide(); 
});                                    
$('.inner').click(function(e){
   e.stopPropagation();
});              
​

http://jsfiddle.net/mCupS/10/

event.stopPropagation() : 防止事件在 DOM 树中冒泡,从而防止任何父处理程序收到事件通知。

关于jquery - 如何关闭点击外部的 div(模态)。 Pinterest 和 Facebook 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10361118/

相关文章:

asp.net - 未应用外部文件中的 CSS

ios - Parse 和 Facebook 的问题

email - Facebook 在电子邮件中分享

javascript - 表格每个单元格上的动态工具提示文本

javascript - Jquery 检查复选框是否被选中

jquery - 将鼠标悬停在 anchor 标记上时,淡入/淡出效果会一直循环 - jQuery

javascript - 使用 Javascript 将文本设为斜体

ios - CCDirector 可能无法响应 presentviewcontroller :animation

javascript - 在 js/JQuery 中动态选择 ID

IE8 中的 jquery 宽度问题