Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对话框元素';打开';事件_Javascript_Html_Dialog_Modal Dialog_Html 5.2 - Fatal编程技术网

Javascript 对话框元素';打开';事件

Javascript 对话框元素';打开';事件,javascript,html,dialog,modal-dialog,html-5.2,Javascript,Html,Dialog,Modal Dialog,Html 5.2,对于对话框元素,是否有某种“打开”事件在显示时触发,无论是正常还是模式 对此并不完全清楚,只是列出了一系列继承的事件 close事件确实触发,但我似乎无法获得任何类型的open事件 HTML示例: <dialog> <h1>Oh hey, a dialog...</h1> </dialog> 否,没有打开事件 该对话框有一个open属性,可以确定它是否已打开,但不幸的是,在该对话框转换时没有任何事件。只是猜测-尝试showevent?@Vin

对于对话框元素
,是否有某种“打开”事件在显示时触发,无论是正常还是模式

对此并不完全清楚,只是列出了一系列继承的事件

close
事件确实触发,但我似乎无法获得任何类型的
open
事件

HTML示例:

<dialog>
  <h1>Oh hey, a dialog...</h1>
</dialog>

否,没有
打开事件


该对话框有一个
open
属性,可以确定它是否已打开,但不幸的是,在该对话框转换时没有任何事件。

只是猜测-尝试
show
event?@Viney不幸的是,该事件也不会触发。目前除了通过javascript()之外,没有其他方法打开它,所以这里没有发送事件是有道理的。然而,正如您所注意到的,
open
属性发生了变化,但是您没有说这个IDL属性反映了一个HTML属性,这是可以观察到的:另外,我认为应该有一个
focus
事件触发,但是当前的实现似乎没有这样做,我可能只是误读了规范。@kaido您的MutationObserver方法是一个很好的解决方法!请张贴作为一个答案,所以我可以接受它。谢谢,一如既往。:-)
document.querySelector('dialog').addEventListener('open', (e) => {
  console.log(e);
});
document.querySelector('dialog').showModal();