这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
HTMLDialogElement
interface provides methods to manipulate
<dialog>
elements. It inherits properties and methods from the
HTMLElement
接口。
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 20%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 120" preserveAspectRatio="xMinYMin meet"><a xlink:href="../API/HTMLDialogElement" target="_top"><rect x="1" y="1" width="170" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="86" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLDialogElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
继承的特性来自其父级,
HTMLElement
.
HTMLDialogElement.open
布尔
反射
open
HTML attribute, indicating whether the dialog is available for interaction.
HTMLDialogElement.returnValue
DOMString
that sets or returns the return value for the dialog.
继承方法来自其父级
HTMLElement
.
HTMLDialogElement.close()
DOMString
may be passed as an argument, updating the
returnValue
of the the dialog.
HTMLDialogElement.show()
Displays the dialog modelessly, i.e. still allowing interaction with content outside of the dialog.
HTMLDialogElement.showModal()
Displays the dialog as a modal, over the top of any other dialogs that might be present. Interaction outside the dialog is blocked.
The following example shows a simple button that, when clicked, opens a
<dialog>
containing a form via the
HTMLDialogElement.showModal()
function. From there you can click the
取消
button to close the dialog (via the
HTMLDialogElement.close()
function), or submit the form via the submit button.
<!-- Simple pop-up dialog box, containing a form -->
<dialog id="favDialog">
<form method="dialog">
<section>
<p><label for="favAnimal">Favorite animal:</label>
<select id="favAnimal" name="favAnimal">
<option></option>
<option>Brine shrimp</option>
<option>Red panda</option>
<option>Spider monkey</option>
</select></p>
</section>
<menu>
<button id="cancel" type="reset">Cancel</button>
<button type="submit">Confirm</button>
</menu>
</form>
</dialog>
<menu>
<button id="updateDetails">Update details</button>
</menu>
<script>
(function() {
var updateButton = document.getElementById('updateDetails');
var cancelButton = document.getElementById('cancel');
var dialog = document.getElementById('favDialog');
dialog.returnValue = 'favAnimal';
function openCheck(dialog) {
if(dialog.open) {
console.log('Dialog open');
} else {
console.log('Dialog closed');
}
}
// Update button opens a modal dialog
updateButton.addEventListener('click', function() {
dialog.showModal();
openCheck(dialog);
});
// Form cancel button closes the dialog box
cancelButton.addEventListener('click', function() {
dialog.close('animalNotChosen');
openCheck(dialog);
});
})();
</script>
注意 : You can find this example on GitHub as htmldialogelement-basic ( see it live also ).
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'HTMLDialogElement' in that specification. |
实时标准 | |
|
HTML 5.2
The definition of '<dialog>' in that specification. |
推荐 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
HTMLDialogElement
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
cancel
event
|
Chrome Yes | Edge 79 | Firefox 78 | IE No | Opera ? | Safari No | WebView Android No | Chrome Android No | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android No |
close
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
close
event
|
Chrome Yes | Edge 79 | Firefox No | IE No | Opera ? | Safari No | WebView Android No | Chrome Android No | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android No |
open
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
returnValue
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
show
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
showModal
|
Chrome 37 | Edge 79 |
Firefox
53
Disabled
|
IE No | Opera Yes | Safari No | WebView Android No | Chrome Android No |
Firefox Android
53
Disabled
|
Opera Android No | Safari iOS No | Samsung Internet Android No |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
见实现注意事项。
用户必须明确启用此特征。
<dialog>
.
HTMLDialogElement
BeforeUnloadEvent
DOMStringMap
ErrorEvent
GlobalEventHandlers
HTMLAnchorElement
HTMLAreaElement
HTMLAudioElement
HTMLBRElement
HTMLBaseElement
HTMLBaseFontElement
HTMLBodyElement
HTMLButtonElement
HTMLCanvasElement
HTMLContentElement
HTMLDListElement
HTMLDataElement
HTMLDataListElement
HTMLDivElement
HTMLDocument
HTMLElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFormControlsCollection
HTMLFormElement
HTMLFrameSetElement
HTMLHRElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLIFrameElement
HTMLImageElement
HTMLInputElement
HTMLIsIndexElement
HTMLKeygenElement
HTMLLIElement
HTMLLabelElement
HTMLLegendElement
HTMLLinkElement
HTMLMapElement
HTMLMediaElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLOListElement
HTMLObjectElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOptionsCollection
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPictureElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLShadowElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableColElement
HTMLTableDataCellElement
HTMLTableElement
HTMLTableHeaderCellElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTemplateElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
HashChangeEvent
历史
ImageData
定位
MessageChannel
MessageEvent
MessagePort
Navigator
NavigatorGeolocation
NavigatorID
NavigatorLanguage
NavigatorOnLine
NavigatorPlugins
PageTransitionEvent
Plugin
PluginArray
PopStateEvent
PortCollection
PromiseRejectionEvent
RadioNodeList
Transferable
ValidityState
Window
WindowBase64
WindowEventHandlers
WindowTimers