我正在尝试在用户关闭浏览器/标签时显示确认消息,而则在点击页面上的任何链接时显示
我在窗口关闭时显示消息的第一部分工作得很好,但问题是当用户点击页面上的任何链接时,消息/警告也会显示。
我从某个地方获得了代码来防止这种行为,但是当点击任何链接时,警报会弹出。
以下是代码:
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/backfix-min.js"></script>
$(document).ready(function() {
$(window).bind('beforeunload', function(e){
$("#lead-gen-modal").dialog("open");
// This line only appears in alert boxes for IE
return "Wait\! Don\'t Go\! We have a special offer for you\. Stay on this page to receive big savings\!";
});
$("a").click(function() {
window.onbeforeunload=null;
});
});
答案 0 :(得分:1)
只使用全局变量
并在点击链接时将其设置为false
。
var key = true;
$(window).bind('beforeunload', function(e){
if(key)
$("#lead-gen-modal").dialog("open");
});
更新:
$(document).on("click","a",function() {
key=false;
});
或者如果你只是想阻止关闭窗口,你可以这样做:
window.onbeforeunload = function(e){
if(key)
return false;
}
答案 1 :(得分:-1)
我认为你正在寻找类似的东西。
$(window).unload(function() {
alert("bye");
});
如果这不适用于Chrome,请尝试使用
$(window).on('beforeunload', function() {
return "bye";
});
jQuery API:unload()http://api.jquery.com/unload/