Javascript:页面卸载前无法显示警报

时间:2015-12-21 14:07:17

标签: javascript jquery asp.net

以下是我在网页上要求确认用户确认的代码:

    $(document).ready(function () {
        var pageLeaveEvent = window.attachEvent || window.addEventListener;
        var checkedEvent = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; //Make IE7, IE8 compatible.

        pageLeaveEvent(checkedEvent, function (e) { //For >= IE7, Chrome & Firefox.
            debugger;
            return 'Are you sure you want to leave page?';
        });
    });

刷新页面时,pageLeaveEvent内的调试器会被命中,但警报不会显示。我正在敲打墙头来解决这个问题,并没有弄清楚为什么会发生这种情况。请帮我找出原因。

作为旁注,以前我在ASP.NET MVC项目中使用了相同的代码并且它有效,现在我正在尝试在ASP.NET Web Forms项目中使用相同的代码。我找到了这段代码here

1 个答案:

答案 0 :(得分:0)

您错过了事件returnValue配置,如您链接的教程:

(e || window.event).returnValue = 'your_message';

将其添加到您的回调中,它将正常工作。