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

标签 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();
};

最佳答案

您无法确定是什么触发了卸载事件 - 事件目标将是文档本身,依赖元素的不同状态是不可靠的,因为有很多操作可以触发它。

不过,如果您只需要知道某个按钮、链接或表单(等等)是否触发了它,您可以监听它们的click/submit 事件从而在卸载事件发生之前捕获它。

关于javascript - 使用window.onbeforeunload,是否可以知道发生了哪个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049692/

相关文章:

javascript - 平滑滑动 HTML div 相互替换

javascript - 读取这个 JSON 数组

javascript - 如何跳过除第一个事件之外的所有 onchange 事件?

javascript - RadioButtonList - 仅显示在文本框中键入的单选按钮

javascript - hasClass() 在 IE 中不起作用?

javascript - 获取具有相同类的元素的 id

javascript - plotOptions.series.point.events 在使用向下钻取时返回空点数据

javascript - JS展开并显示 block 不显示所有 block

javascript - 使用 jquery 根据点击显示/隐藏与类相关的文本

javascript - 如何访问在类的方法中声明的变量?