私は1ページに複数のモーダルのjavascriptイベントハンドラを持っています。目標は、ユーザーがモーダル外をクリックしたときにボックスを閉じることです。Javascriptイベントハンドラ複数ターゲット
1つのページに最大4つのモーダルがあり、2つには3つ、あるものには3つのモーダルが存在する可能性があります。この問題は、2つまたは3つしかない場合に発生します。この機能は、最初のボックスでは機能しますが、3番目のボックスでは機能しません。
ページ上のどのようなモーダルであっても、これを実行する必要があります。
document.onclick = function(event) {
if (event.target == modal || event.target == modal2 || event.target == modal3 || event.target == modal4) {
event.target.style.display = "none";
}
}
https://jsfiddle.net/fastgrowingtrees/w3bo9q29/
デバッグとevent.targetに来ているかどうか確認する必要がありますjsfiddleリンク –
を入力してください:以下のようなif文
が
チェックを設定しますあなたが3つのモーダルを持っているか、あなたが3つのモーダルをページ上に残すべき場所をswer you – mean
直接オブジェクトの代わりにIDを使用します。存在しないオブジェクトを比較しようとするため、コードが失敗します。オブジェクトを取得する前にIDが存在するかどうかを確認します。 – Shilly