关闭当前对话框的事件侦听器
event listener to close current dialog
以下代码仅适用于第一个对话框 (BOB JONES),第二个对话框 (ROBERT ABREAU) 将打开但不会关闭对话框外的 onclick。我将有 150 个与国际象棋大师的学生照片相关的文本对话。所以 IDK 如果我可以根据 closeDialog() 使用事件侦听器来关闭当前打开的对话框。也许解决方案涉及 getElementsByClassName。我可以将其修补到下面的 js 代码中,并在每个对话框中省略“onclick = “closeDialog();”。
有什么好的方案吗?
html
<!-- BOB JONES -->
<dialog id = "B-JONES" onclick = "closeDialog('B-JONES');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END BOB JONES
<!-- ROBERT ABREAU -->
<dialog id = "R-ABREAU" onclick = "closeDialog('R-ABREAU');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END ROBERT ABREAU -->
...还有 150 个
JS
function closeDialog(dialogID) {
document.querySelector('dialog').addEventListener('click', function(e) {
if(!e.target.closest('div')) { e.target.close();}
});
}
根据您的评论,您要查找的代码可能位于以下位置:
<!-- BOB JONES -->
<dialog id = "B-JONES" onclick = "closeDialog('B-JONES');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END BOB JONES
<!-- ROBERT ABREAU -->
<dialog id = "R-ABREAU" onclick = "closeDialog('R-ABREAU');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END ROBERT ABREAU -->
JS
function closeDialog(dialogID) {
let dialog = document.getElementById(dialogId);
if (dialog) {
dialog.close();
}
}
只需确保您的对话框的 ID 是唯一的。
以下代码仅适用于第一个对话框 (BOB JONES),第二个对话框 (ROBERT ABREAU) 将打开但不会关闭对话框外的 onclick。我将有 150 个与国际象棋大师的学生照片相关的文本对话。所以 IDK 如果我可以根据 closeDialog() 使用事件侦听器来关闭当前打开的对话框。也许解决方案涉及 getElementsByClassName。我可以将其修补到下面的 js 代码中,并在每个对话框中省略“onclick = “closeDialog();”。
有什么好的方案吗?
html
<!-- BOB JONES -->
<dialog id = "B-JONES" onclick = "closeDialog('B-JONES');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END BOB JONES
<!-- ROBERT ABREAU -->
<dialog id = "R-ABREAU" onclick = "closeDialog('R-ABREAU');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END ROBERT ABREAU -->
...还有 150 个
JS
function closeDialog(dialogID) {
document.querySelector('dialog').addEventListener('click', function(e) {
if(!e.target.closest('div')) { e.target.close();}
});
}
根据您的评论,您要查找的代码可能位于以下位置:
<!-- BOB JONES -->
<dialog id = "B-JONES" onclick = "closeDialog('B-JONES');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END BOB JONES
<!-- ROBERT ABREAU -->
<dialog id = "R-ABREAU" onclick = "closeDialog('R-ABREAU');">
<div class="test">
<p>Blah blah blah</p>
</div>
</dialog>
<!-- END ROBERT ABREAU -->
JS
function closeDialog(dialogID) {
let dialog = document.getElementById(dialogId);
if (dialog) {
dialog.close();
}
}
只需确保您的对话框的 ID 是唯一的。