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();