当该对话框的样式设置为时, HtmlDialogElement.close ()函数似乎对该元素没有任何影响。<dialog>displaygrid
有人知道为什么吗?请注意,删除display: grid允许对话框正常运行。我在最新版本的 Chrome 和 Firefox 上都看到过这种行为。
请参阅下面的最小复制。如果您愿意,这里有一个 Codepen:https://codepen.io/ChristianMay/pen/MWrmdzJ
let dialog = document.querySelector('dialog')
let closeButton = document.querySelector("#dialog-close");
closeButton.addEventListener('click', () => {
dialog.close();
})Run Code Online (Sandbox Code Playgroud)
dialog {
display: grid;
}Run Code Online (Sandbox Code Playgroud)
<dialog class="dialog" open="">
Test
</dialog>
<button id="dialog-close">Close dialog</button>Run Code Online (Sandbox Code Playgroud)