【发布时间】:2014-05-03 13:54:01
【问题描述】:
编辑:由于我的问题似乎不清楚 - 我只想在用户通过关闭浏览器/键入新链接/单击现有链接离开页面时添加 confirm() 消息
在卸载/卸载事件之前,我已经阅读了很多相关主题,但实际上没有一个可以帮助我,可能是我做错了。
我通过单击所有链接使脚本正常工作,但是在我的情况下,'beforeunload' 事件不起作用
普通脚本
$('a').on('mousedown', function(){
var message = 'You are about to leave the page. Continue?'
var result = confirm(message)
if (result) {
// some stuff
} else {
// some other stuff
}
})
尝试使用 beforeunload
$(window).on('beforeunload', function(){
var message = 'You are about to leave the page. Continue?'
var result = confirm(message)
if (result) {
// some stuff
} else {
// some other stuff
}
})
什么都没有发生。我也尝试过卸载事件,但仍然没有运气。
【问题讨论】:
-
编辑后,您只能从 onbeforeunload 事件返回一个字符串。这将提示一个确认框。请注意,FF 不允许自定义消息 AFAIK。无论如何,您可以使用此事件解决许多其他问题,您应该尽可能避免它
-
是否有其他库可以实现关闭浏览器等时的确认对话框?
-
@skzd 这不是 jQuery 功能,而是 javascript 功能。没有 javascript 库允许您使用
beforeunload事件调用confirm()。 -
事件的行为取决于浏览器的实现,javascript 无能为力。如果任何库可以以任何方式对其进行修改,那么它已经被大量滥用,然后应该尽快修复......
-
所以我至少可以监听某些事件,例如单击或关闭窗口,然后使用确认消息调用我的函数吗?
标签: javascript jquery