我希望能够在一段时间后或在特定事件(即,按键)。根据我的研究,内置的alert()函数似乎不可能做到这一点。有没有办法覆盖它并控制它打开的对话框?

另外,我不希望覆盖显示隐藏的 div 作为警报。我需要一个实际的对话框。

有帮助吗?

解决方案

正如前面提到的,你真的不能做到这一点。您可以使用一个UI框架,做一个模式对话框窗口内,或者你可以有一个弹出窗口,用一个脚本,自动关闭超时后...每个有消极的一面。在浏览器内的模态窗口不会产生任何通知,如果窗口最小化,和一个编程(基于定时器的)弹出很可能是由现代浏览器和弹出窗口拦截被阻止。

其他提示

您似乎可以在一定程度完成与通知类似的东西 API。你无法控制它有多长可见的(可能是一些类型的操作系统的偏好 - 除非你指定requireInteraction真),它要求用户点击“允许通知”(不幸),但在这里它是:

如果你想让它1秒后关闭:

var notification = new Notification("Hi there!", {body: "some text"});
setTimeout(function() {notification.close()}, 1000);

如果你想显示它比“默认”你可以绑定到的OnClose回调,并显示另一个重复通知我想时间越长,来取代它。

参考:由这个回答,但是这个问题的答案并不在现代浏览器的工作了,但通知API确实

在对话框中无法控制,如果你有控制的对话框,你可以写突兀的JavaScript代码。 (它是不是要用警惕任何东西,除了调试好主意)

  

我希望能够关闭警报   自动框使用javascript   上的一定量的时间或后   特定事件(即onkeypress事件)

一个旁注:如果你有一个警报(“数据”),您将无法继续运行的代码在后台(据我所知)...。对话框是模态窗口,所以你不能失去注意力过多。所以,你不会有任何按键或定时器运行...

尝试引导框插件。

var alert = bootbox.alert('Massage')
alert.show();
setTimeout(function(){alert.modal('hide'); }, 4000);

我想你可以打开一个弹出窗口,并调用的的对话框。我不能确定的细节,但我敢肯定,你可以关闭程序,你的javascript打开一个窗口。这会是足够的?

这里唯一真正的选择是使用某种自定义部件的采用模态的选择。看一看jQuery用户界面的使用这些功能的对话的一个例子。类似的事情在几乎所有的JS框架,那么你可以说存在。

如果您在 JS 中以编程方式执行此操作,则就像重新发明轮子一样。我建议使用 jQuery 插件名为 咆哮

您可以使用标签,并设置其淡入和淡出的时间e.g 隐藏它最初并显示上点击。 $( '#div_Message')淡入(500).delay(1000).fadeOut(1500);

window.setTimeout('alert("Message goes here");window.close();', 5000);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top