首页 / 知识
关于javascript:我可以为特定元素覆盖onbeforeunload吗?
2023-04-15 01:18:00

Can I override onbeforeunload for a particular element?我有一个页面需要做很多工作,并且我不希望用户在没有警告的情况下离开该页面(关闭浏览器,点击后退按钮等)。我发现onbeforeunload事件(我认为它是IE特定的,由于项目使用大量ActiveX,因此对我来说效果很好)。 问题是,我希望用户能够单击右上角的小"帮助"图标并随时弹出帮助窗口。这会导致onbeforeunload触发,即使主窗口永远不会移到任何地方并且页面也永远不会卸载。 在onbeforeunload事件运行时运行的JavaScript函数只是将文本放入event.returnValue中。如果我能以某种方式确定单击了帮助图标,则在这种情况下我无法将文本放入event.returnValue中。但是我怎么能把页面弄清楚呢? 让我猜:帮助" icon"实际上是带有
编辑:基于我的理解不足,我下面的"解决方法"是完全矫kill过正。遵循Shog9的回答。 好的,所以在我写问题时,我想出了一种暂时可以解决的方法。 我将全局JavaScript变量用作布尔值,以决定是否将图标悬停在图标上。然后,我将事件附加到图像的onmouseover和onmouseout事件上,并编写将设置该值的函数。最后,我只是在处理onbeforeunload的函数中编写代码,该函数将在设置event.returnValue。 之前检查此值。 可能不是完美的解决方法,但现在可以使用。 在互联网上,您会发现很多人建议您使用类似 window.onbeforeunload = null ,但这在IE6中对我不起作用。在MSDN文档中阅读该事件对象后,我发现对event.cancelBubble属性的引用,我认为这是解决方案。但是感谢Orso指出设置" event.cancelBubble = true"是无用的,摆脱确认提示的方法是完全排除return语句,我选择使用布尔变量作为标志来决定是否退还东西。在下面的示例中,我以编程方式在后面的代码中添加了javascript代码:
然后,帮助按钮包含以下aspx标记:
这会将'postback'变量设置为true,该变量将在ConfirmExit()函数中获取,具有取消事件的作用。 希望您觉得这很有用。它已经过测试,并且可以在IE6和FF 1.5.0.2中运行。 我的方法有点笨拙,但在大多数情况下都可以使用。 创建一个包含一个带有100%单帧FRAMESET的FRAMESET的"保留"弹出页面,并将普通的onUnload和onbeforeUnload事件处理程序放置在HEAD中。
使用此方法,您可以自由使用想要查看的实际页面,回发并单击超链接,而不会触发外部框架onUnload或onbeforeUnload事件。 如果刷新或实际上关闭了外部框架,则事件将触发。 就像我说的那样,虽然不是完全确定的,但是每次单击或回发时都会触发该事件。 |
最新内容
相关内容
linux命令中添加用户?
linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文件夹,linux添加用户名1、打开xshell软件,远程访问您的服务器或虚拟linux命令更改用户?
linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,linux如何更改用户名?1、首先打开linux的终端,输入指令修改用户名,简linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组查看linux用户命令行?
查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所linux所有用户命令行?
linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,Linux里怎么用命令查看所有用户1、您好,查看linux下所有用户步骤:第linux用户下的命令是?
linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命linux用户登录的命令?
linux用户登录的命令?,系统,信息,工作,地址,时间,密码,名称,命令,电脑,软件,linux系统添加用户命令是什么?打开xshell软件,远程访问您的服务器linux关机用户命令?
linux关机用户命令?,系统,工作,信息,状态,管理,命令,基础,目录,用户,功能,linux常用命令及用法1、linux常用命令: pwd命令 该命令的英文解释linux看用户信息命令?
linux看用户信息命令?,系统,密码,信息,状态,软件,情况,命令,用户,网络,时间,linux如何查看用户权限,linux查看当前用户权限的命令1、linux怎么linux下删除用户命令?
linux下删除用户命令?,系统,代码,邮箱,用户组,命令,用户,名称,管理,电脑,账户,删除用户的命令是什么1、userdel-r命令。userdel-r命令可以删除用户id的linux命令?
用户id的linux命令?,系统,密码,信息,联系方式,地址,位置,用户,命令,用户名,终端,Linux命令详解之id首先,打开linux客户端。接着,点击上方的连接l