我希望用户在尝试离开我的页面时会看到一条消息。我的页面包含一个表单和一些链接(菜单等)。我的jQuery代码如下
$(document).ready(function(){
$(window).bind('beforeunload', function(e){
answer=confirm('Do you want to go?');
if (answer===false){
e.preventDefault();
}
});
});
但是当我点击其中一个链接时,用户在页面外导航并且没有任何确认对话框。我误解了beforeunload
事件吗?
答案 0 :(得分:1)
不幸的是,没有办法覆盖默认行为。大多数浏览器只会显示事件的returnValue,并附带一个“确定”/“离开”页面'和'取消'按钮。您可以设置该消息:
window.onbeforeunload = function (e) {
var e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Hey, you are leaving. Do you want to continue?';
}
//you can do some last minute scripting here
// For Safari
return 'Hey, you are leaving. Do you want to continue?';
};
正如Jason P所建议的,read more on it here