gpt4 book ai didi

javascript - 用于触发 beforeunload/unload 事件的替代 jquery 库

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:51 33 4
gpt4 key购买 nike

编辑:由于我的问题似乎不清楚 - 我只想在用户通过关闭浏览器/键入新链接/单击离开页面时添加 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
}
})

什么也没有发生。我也尝试过卸载事件,但仍然没有运气。

最佳答案

beforeunload 事件有点奇怪。大多数浏览器不允许您从处理程序触发确认对话,因为这将允许站点不断弹出确认对话而不是离开页面。相反,您应该返回要显示的消息,例如:

$(window).on('beforeunload', function(e) {
var msg = 'You are about to leave the page. Continue?';
(e || window.event).returnValue = msg; //IE + Gecko
return msg; //Webkit
});

如果您想在结果对话退出后运行额外的 javascript,请添加一个 onunload 监听器。

编辑

正如评论中所指出的,这些事件因浏览器而异。例如,最新版本的 gecko (firefox) 不允许自定义消息。

关于javascript - 用于触发 beforeunload/unload 事件的替代 jquery 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23445332/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com