栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript如何捕获浏览器窗口关闭事件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript如何捕获浏览器窗口关闭事件?

beforeunload
每当用户出于任何原因离开您的页面时,都会触发该事件。

例如,如果用户提交表单,单击链接,关闭窗口(或选项卡)或使用地址栏,搜索框或书签进入新页面,则将触发该事件。

您可以使用以下代码排除表单提交和超链接(其他框架除外):

var inFormOrlink;$('a').on('click', function() { inFormOrlink = true; });$('form').on('submit', function() { inFormOrlink = true; });$(window).on("beforeunload", function() {     return inFormOrlink ? "Do you really want to close?" : null; })

对于1.7之前的jQuery版本,请尝试以下操作:

var inFormOrlink;$('a').live('click', function() { inFormOrlink = true; });$('form').bind('submit', function() { inFormOrlink = true; });$(window).bind("beforeunload", function() {     return inFormOrlink ? "Do you really want to close?" : null; })

live
方法不适用于该
submit
事件,因此,如果添加新表单,则还需要将处理程序绑定到该事件。

请注意,如果其他事件处理程序取消了提交或导航,则如果稍后实际上关闭了该窗口,则将丢失确认提示。您可以通过在

submit
click
事件中记录时间,然后检查是否在
beforeunload
几秒钟后发生,来解决此问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号