做一个模态的经典方法是一个带有内容(对话框)的 div 和一个 z-index 较低的 div(覆盖)然后,我可以在覆盖上绑定点击事件并隐藏内容对话框。
<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>
但是在这种方法中,我如何才能将点击事件绑定到仅在没有对话框的叠加层中关闭 de 对话框?