![]() |
1
192
这个
例如,如果用户提交表单、单击链接、关闭窗口(或选项卡),或使用地址栏、搜索框或书签转到新页面,则会激发此消息。 可以使用以下代码排除表单提交和超链接(其他框架除外):
对于早于1.7的jquery版本,请尝试以下操作:
这个
请注意,如果另一个事件处理程序取消了提交或导航,则在稍后实际关闭窗口时,您将丢失确认提示。你可以把时间记录在
|
![]() |
2
44
也许只是解开
|
![]() |
3
15
对于跨浏览器解决方案(在chrome 21、ie9、ff15中测试),请考虑使用以下代码,这是Slaks代码的稍微调整版本:
请注意,自从火狐4以来,“你真的想关闭吗?”不显示。FF只显示一般消息。见注释 https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeunload |
![]() |
4
9
|
![]() |
5
4
对于与Telerik(例如RadcomboBox)和DevExpress等因各种原因使用锚标记的第三方控件一起工作良好的解决方案,请考虑使用以下代码,这是一个稍作调整的DESM代码版本,具有更好的自定位锚标记选择器:
|
![]() |
6
3
我使用了slaks answer,但没有按原样工作,因为onbeforeunload返回值被解析为字符串,然后显示在浏览器的确认框中。所以显示值“真”,就像“真”。 只是用退货工作。 这是我的密码
|
![]() |
7
2
我的回答旨在提供简单的基准。 如何见 @SLaks answer .
浏览器最终关闭页面需要多长时间?
每当用户关闭页面时(
X
按钮或
控制
+
W
)浏览器执行给定的
铬
:2秒。
我们用来测试的是:
它所做的就是在浏览器关闭页面(同步)之前发送尽可能多的请求。
铬输出:
|
![]() |
8
1
也许您可以处理onsubmit并设置一个标志,稍后您可以签入onbeforeunload处理程序。 |
![]() |
9
1
|
![]() |
10
1
不幸的是,无论是重新加载、新页面重定向还是浏览器关闭,都会触发事件。另一种方法是捕获触发事件的ID,如果它是表单,则不触发任何函数;如果它不是表单的ID,则在页面关闭时执行您希望执行的操作。我不确定这是否也可能是直接的,是乏味的。 你可以在客户关闭标签前做一些小事情。 javascript detect browser close tab/close browser 但是,如果你的行动清单很大,而且在完成之前标签就关闭了,你就束手无策了。你可以试一下,但根据我的经验,不一定要依靠它。
|
![]() |
11
0
如果您提交的表单将它们带到另一页(我认为是这样的,因此触发了
|
![]() |
12
0
我的问题:只有提交(单击)次数为奇数时才会触发“onbeforeunload”事件。我有来自类似线程的解决方案组合,以便使我的解决方案工作。好吧,我的密码会说出来的。
|
![]() |
13
0
从jquery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版本jquery的用户应优先使用.delegate(),而不是.live()。
完成或链接时
|
![]() |
14
0
试试这个
|
![]() |
15
-1
只要核实…
|
![]() |
16
-1
|
![]() |
17
-7
跟随者为我工作;
|
![]() |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
![]() |
makerbaker · 取消选中框Javascript后重置输入值? 2 年前 |
![]() |
sam_rox · 在Matlab ODE中使用事件内部的两个条件 6 年前 |
![]() |
Santosh · javafx中的按键事件 6 年前 |
![]() |
KarLito · 删除或切换Highcharts上的事件 6 年前 |
|
JWoods4 · 读取击键并放入文本框 6 年前 |
![]() |
Everett Kaser · 在事件处理程序中绘制到NSView 6 年前 |