Jquery Show Popup仅在窗口关闭时显示
我试图在用户关闭浏览器/选项卡时显示确认消息,而不是在单击页面上的任何链接时显示确认消息。
我在窗口关闭时显示消息的第一部分工作得很好,但问题是当用户点击页面上的任何链接时也会显示消息/警报。
我从某个地方获得了代码来防止这种行为,但是当点击任何链接时,警报弹出。
这是代码:
$(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; }); });
只需使用全局变量,并在单击链接时将其设置为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; }
我想你正在寻找这样的东西。
$(window).unload(function() { alert("bye"); });
如果这不适用于Chrome,请尝试此操作
$(window).on('beforeunload', function() { return "bye"; });
jQuery API:unload() http://api.jquery.com/unload/