私はこのように開いたモーダルボックスを持っています。モーダルの外側をクリックしてモーダルボックスを閉じることができません
<div class="modal-open" data-modal="modal-window-one">Modal1</div>
var btn = document.getElementsByClassName("modal-open");
for (var i = 0; i < btn.length; i++) {
var thisBtn = btn[i];
thisBtn.addEventListener("click", function(){
var modal = document.getElementById(this.dataset.modal);
modal.className = "modal-reveal";
}, false);
}
そして、私がオープンしました。このモーダルの外側の任意の場所をクリックすることで、このモーダル近くを持ってしようとしています。
ここに私のコードです。
window.addEventListener('mouseup', function(event){
var box = document.getElementsByClassName('modal-reveal');
if (event.target != box && event.target.parentNode != box){
box.className = "modal-hidden";
}
});
私はここで間違っていますか?いいえコンソールエラー&私はこのコードが動作しない理由を理解できません。以下のようなものに
var box = document.getElementsByClassName('modal-reveal');
:
var box = document.getElementsByClassName('modal-reveal')[0];
.getElementsByClassName
戻りHTMLCollection
https://jsfiddle.net/mspsys/z46woxv0/
使用コードスニペットやjsfiddleのようなコード。コードをコピーしてどこかに貼り付けることなくコードを実行して編集することができれば、他の人が手助けする方が簡単になります。 –
私のフィドルです。 https://jsfiddle.net/mspsys/z46woxv0/ – HackYa