堆栈溢出如何创建模式对话框窗口

How does stackoverflow create the modal dialog window?

本文关键字:模式 对话框 窗口 创建 栈溢出 何创建 堆栈      更新时间:2023-09-26

当我编辑页面并尝试离开它时,会出现一个对话框,询问我是否要:

离开此页面或留在此页面

在我回答之前,对话框阻止我做任何事情。

在Javascript中,我看到的唯一类似的东西是window.confirm(message),它给出了确定和取消按钮。

那么在Javascript中是否有另一种方法可以创建一个我不知道的对话框呢?请注意,我想随时创建一个对话框,我对知道页面何时关闭不感兴趣,因此这不是Zeta确定的问题的副本。

这里发生的事情不是任何类型的alert()或confirm()或prompt()。

window.onbeforeunload 事件处理程序编写一个函数,使用传递消息的函数加载参数...

➪ ➪ stackoverflow.com/a/1119324/444255

  • 它生成的是浏览器的一个特殊的本机对话框。(你不能用devTools检查它,它不是由HTML制成的......好的,警报都不是。
  • 对于其他目的,您无法获得相同的对话框。(如果可能的话,广告业早就让我们知道了;-)

您只能使用丑陋的警报及其兄弟姐妹来"阻止",或者通过在页面上放置填充程序(以防止点击)并在顶部放置一个 html 制作的对话框来"阻止"。这应该会停止与您的页面进行其他交互,但当然不会导航离开。

JavaScript 没有

内置的模态,只有警报、确认和提示。许多库已经制作了自己的模态,例如Bootstrap和jQueryUI。

你的问题不太清楚。我的理解是您对可用的模型感兴趣。

  • window.alert()让您有机会向用户发送通知。
  • window.confirm()会提供一个带有"确定"和"取消"按钮的弹出窗口。
  • window.prompt()提供了一个弹出窗口,用户可以在其中插入文本。

http://www.w3schools.com/js/js_popup.asp