【发布时间】:2021-01-09 04:33:34
【问题描述】:
我有模态窗口:父 div(带有深色透明背景的包装器)和子 div(带有按钮、输入和文本)。两者都是固定定位。
在 JavaScript 中我做简单的代码:如果我点击父固定 div(.modal-wrapper) - 它必须关闭(删除)整个模式窗口。如果我单击关闭按钮(模式窗口角落的“X”按钮),结果相同。
这是我的简单 JS 代码:
function doModalClose() {
modalWrapper.remove();
}
closeBtn.addEventListener('click', doModalClose);
modalWrapper.addEventListener('click', doModalClose);
和 html 标记:
<div class="modal-wrapper">
<div class="modal-window">
<div class="btn-wrapper"><span class="close-btn"></span></div>
other modal elements...
</div>
</div>
主要问题是,当我点击父 div 时,它可以正常工作,就像我点击 .close-btn 时一样。但是,如果我点击子 div (.modal-window) 它也会关闭整个模式,这是不正确的!
我做了一个简单的alert(); 检查:当我单击父级时,它应该显示Modal Wrapper,当我单击子级时,它应该显示Modal Window。
当我单击子窗口时,它会调用两个 alert(); 函数:首先是孩子的 Modal Window,然后是父母的 Modal Wrapper。
所以这就是我的问题的原因,但我不明白这种行为的原因。我在父 div 上使用子 div z-index: 2; 和 z-index: 1;,但它仍然没有帮助。
感谢您的关注!
【问题讨论】:
标签: javascript html modal-dialog css-position