使用window.onbeforeunload,是否可以知道发生了哪个事件?

时间:2012-06-15 11:18:57

标签: javascript jquery

如何确定事件的触​​发器是什么(关闭浏览器,关闭选项卡,在其他页面上重定向等)?

function winUnload(){
     var pathToCloseCurrentTab = window.location.protocol + "//" + window.location.host + '<%= ResolveUrl("~/Services/SenderAjax.asmx") %>' + "/CloseCurrentTab";         
        $.ajax({
                type: 'POST',
                url: pathToCloseCurrentTab,
                dataType: 'JSON',
                data: {'data': $('input[id$=hfTimeLoadLayOut]').val()}
            });
}
window.onbeforeunload= function (evt){                    
    winUnload();
};

1 个答案:

答案 0 :(得分:0)

您无法确定触发卸载事件的内容 - 事件目标将是文档本身,并且依赖于元素的不同状态是不可靠的,因为有大量操作可以触发它。

但是,如果您只需要知道某个按钮,链接或表单(等等)是否触发了它,您就可以收听他们的click / submit事件,从而捕获卸载事件它已经发生了。