dialog
元素和弹出式API是Web平台的强大添加。 我最近提供了对其应用的详细分析,并发现了无证件的技术。 但是,他们的单独实现感到不必要的复杂。>
Web浏览器正在引入“调用命令” -
>属性 - 简化与弹出式,对话框和未来功能的交互,最小化JavaScript Reliance。 这些属性还引入了新的JavaScript事件。command
commandfor
记住,这些是实验特征。 启用它们:
enable-experimental-web-platform-features
>野生动物园技术预览(flag:)dom.element.invokers.enabled
InvokerAttributesEnabled
基本用法:>使用一个类似按钮的元素(例如,
,)与>属性(指定命令名称,例如“ show-modal”)和>(引用目标元素的ID)。
>让我们探索命令值。<button></button>
<a></a>
command
属性值:commandfor
<button command="show-modal" commandfor="dialogA">Show dialogA</button> <dialog id="dialogA">...</dialog>
。 它允许在没有JavaScript的情况下显示模态显示。 这反映了现有的HTML弹出的弹出案,创建了一种更一致的方法。
>
show-modal
showModal()
show
show
,close
和close()
,
show-popover
这是一个摘要:hide-popover
Command | Equivalent JavaScript Method | Notes |
---|---|---|
show-modal |
showModal() |
Shows a modal dialog. |
close |
close() |
Closes a dialog or popover. |
show-popover |
showPopover() |
Shows a popover (redundant with existing popover attributes). |
hide-popover |
hidePopover() |
Hides a popover (redundant with existing popover attributes). |
toggle-popover |
togglePopover() |
Toggles a popover (redundant with existing popover attributes). |
--custom-command |
N/A | Custom commands prefixed with -- . |
> JavaScript事件处理:
事件的command
元素特别有用。dialog
>
show
<button command="show-modal" commandfor="dialogA">Show dialogA</button> <dialog id="dialogA">...</dialog>
dialogs.forEach(dialog => { dialog.addEventListener("command", event => { if (event.command === "show-modal") { /* Dialog shown */ } else if (event.command === "close") { /* Dialog closed */ } }); });
>
event.source
popovers.forEach(popover => { popover.addEventListener("command", event => { if (event.command === "show-popover") { /* Popover shown */ } // ... }); });
> >自定义命令(例如,
)允许扩展功能。>
--spin-me-a-bit
> >最初专注于
和弹出案,但预计对<dialog></dialog>
,<details></details>
,以及全屏控件的支持。<input type="color">
>
<video></video>
好处:>调用命令减少JavaScript,提供类似事件的处理,并为现有API提供替代的交互方法。 他们完善并增强了现有功能。
以上是调用命令:与对话框,弹出窗口的其他方法……等等?的详细内容。更多信息请关注PHP中文网其他相关文章!