モーダルを行う古典的な方法は、コンテンツを含む div (ダイアログ) と z-index が低い (オーバーレイ) を含む div です。次に、クリック イベントをオーバーレイにバインドし、コンテンツ ダイアログを非表示にします。
<div class="dialog">...</div>
<div class="overlay" style="background-color:rgba(255, 255, 255, 0.9)">
しかし、Pinterest と Facebook がそれを 1 つの 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>
しかし、このアプローチでは、ダイアログを持たないオーバーレイでのみクリックイベントをバインドしてダイアログを閉じるにはどうすればよいですか?