首页 > 解决方案 > 防止页面退出

问题描述

我制作了一个功能,当用户在填充某个表单字段时离开时发出警告:

window.addEventListener("beforeunload", function (event) {
    var unsaved = "Are you sure you want to exit?";
    var text = $('.article_div textarea').val();
    if (text.length > 0){
        event.returnValue = unsaved;
        return unsaved;
    }
});

这实际上非常有效。但是,我查找了returnValue,建议不要使用它。我尝试了替代方法,包括删除event.returnValue = unsaved;和仅使用return unsaved. 但是,这也不起作用 - 它仍然会离开页面。

关于我可以做些什么来让它发挥作用的任何想法?

标签: javascriptjquery

解决方案


如果使用 jQuery,则event.returnValue可以省略。见这里

$(window).on('beforeunload', function(event) {
 var unsaved = "Are you sure you want to exit?";
    var text = 'Test Text @@@';
    //var text = $('.article_div textarea').val();
    if (text.length > 0){
            return unsaved;
    }
});

请参见此处的示例


推荐阅读