【问题标题】:How to close the Html5 dialog如何关闭 Html5 对话框
【发布时间】:2013-11-13 15:43:07
【问题描述】:

首先,我的 html 中有一个对话框

<dialog open>
  <button id="close">Close</button>
</dialog>

然后,我需要一个 JS 函数来关闭或隐藏它。

怎么做?

我还有一个提交按钮来显示对话框。 如何展示?

<input type="Submit" value="Submit" id="show" />

【问题讨论】:

  • 标签目前仅在 Chrome 和 Safari 6 中受支持。那么您在哪个浏览器中工作?
  • 为什么不使用服装对话框而不是使用HTML5-dialog,因为大多数浏览器不支持它。

标签: javascript html dialog


【解决方案1】:

试试这个,

<dialog id="dialog">
  <p>Hi, I'm a dialog!</p>
  <button id="close">Okay</button>
</dialog>

<button id="show">Show Dialog</button>

JS 脚本

var dialog = document.getElementById('dialog');
var showBtn = document.getElementById('show');
var closeBtn = document.getElementById('close');

// Setup an event listener for the show button.
showBtn.addEventListener('click', function(e) {
  e.preventDefault();

  // Show the dialog.
  dialog.show();
});

// Setup an event listener for the close button.
closeBtn.addEventListener('click', function(e) {
  e.preventDefault();

  // Close the dialog.
  dialog.close();
});

更多详情见http://blog.teamtreehouse.com/a-preview-of-the-new-dialog-element

【讨论】:

【解决方案2】:

&lt;dialog&gt; HTML5 标签的文档草稿可在此处获得:http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element

基本上您可以使用show()close() 方法与对话框进行交互。

查看本教程以获取示例:http://blog.teamtreehouse.com/a-preview-of-the-new-dialog-element

确保您在 Chrome 中启用了此功能:

安装 Chrome Canary 后,转到 chrome://flags 并启用启用实验性 Web 平台功能标志。您需要重新启动浏览器才能使更改生效。

【讨论】:

  • 感谢您的链接......我尝试这样做......当我点击我的按钮时......什么也没发生......你有任何例子或任何代码告诉我吗?谢谢:)
  • 您是否在 Chrome 中启用了 Web Platform features ? (见我的编辑)
猜你喜欢
  • 2019-08-13
  • 2011-02-25
  • 2021-11-24
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
相关资源
最近更新 更多