<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(window).unload(function(){
alert('adsf');
});
});
</script>
</head>
<body>
<div>
<p><a href="http://www.baidu.com">hello world</a></p>
</div>
</body>
</html>
注:我的jquery-1.9.1.min.js路径是对的。
W3C中说:
定义和用法
当用户离开页面时,会发生 unload 事件。
具体来说,当发生以下情况时,会发出 unload 事件:
点击某个离开页面的链接
在地址栏中键入了新的 URL
使用前进或后退按钮
关闭浏览器
重新加载页面
可是我在火狐、IE、谷歌浏览器下看不到效果。我的unload()事件写的有错吗?怎样才能出现unload()事件?请高人指点
11 个解决方案
#1
用
window.onbeforeunload = function(){
return '';
}
window.onbeforeunload = function(){
return '';
}
#2
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script> $(function () {
$(window).unload(function () { alert('unload') });
});
</script>
没问题。。~
#3
但是在浏览器里确实不起作用,您可以试一试
#4
IE7,8,firefox4都可以,chrome不行,自定义的alert语句不会执行
#5
你为什么要把它写在ready里面?
$(document).ready(function(){
。。。。。。
});
这个标示的是当DOM(文档对象模型)已经加载,并且页面(包括图像)已经完全呈现时,会触发 ready 事件。
$(document).ready(function(){
。。。。。。
});
这个标示的是当DOM(文档对象模型)已经加载,并且页面(包括图像)已经完全呈现时,会触发 ready 事件。
#6
你好,我试了一下,不写在ready()里也不行
<script type="text/javascript">
$(window).unload(function(){
alert('adsf');
});
</script>
#7
哦,我看了我的版本,我的是IE9,火狐是19.0.2(最新版)
#8
unload事件在火狐和Chrome中对alert是阻止弹出的,所以你的代码看不到效果。
详见: http://*.com/questions/6063522/jquery-beforeunload
但unload事件可以进行一些对象销毁,事件解除绑定等清理工作,这通常是难以看到的。
在IE10中,刷新可以看到弹出alert。
如果你想在用户离开页面之前确认是否离开,最好使用beforeunload事件
详见: http://*.com/questions/6063522/jquery-beforeunload
但unload事件可以进行一些对象销毁,事件解除绑定等清理工作,这通常是难以看到的。
在IE10中,刷新可以看到弹出alert。
如果你想在用户离开页面之前确认是否离开,最好使用beforeunload事件
#9
在IE中刷新确实可以弹出alert。
我把代码改成before():
<script type="text/javascript">
$(document).ready(function(){
$(window).beforeunload(function(){
alert('asdf');
});
});
</script>
但是在火狐、谷歌、IE还是看不到效果。
我怎样写才能达到这样的效果:关闭、点击链接、输入地址都窗口弹出alert
#10
在beforeunload事件里,不需要alert,该事件会自动产生一个弹出框,
就算你加了alert也是没效果的。
另外,要使beforeunload事件能自动弹出框,必须得有返回值,如:
$(window).beforeunload(function(event){
var message = “I’m really going to miss you if you go.”;
event.returnValue = message;
return message;
});
上面的代码可以达到关闭、点击链接、输入地址都窗口弹出框的效果。
把返回值message设为你想显示的信息
#11
谢谢您了,解决了我的问题
#1
用
window.onbeforeunload = function(){
return '';
}
window.onbeforeunload = function(){
return '';
}
#2
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script> $(function () {
$(window).unload(function () { alert('unload') });
});
</script>
没问题。。~
#3
但是在浏览器里确实不起作用,您可以试一试
#4
IE7,8,firefox4都可以,chrome不行,自定义的alert语句不会执行
#5
你为什么要把它写在ready里面?
$(document).ready(function(){
。。。。。。
});
这个标示的是当DOM(文档对象模型)已经加载,并且页面(包括图像)已经完全呈现时,会触发 ready 事件。
$(document).ready(function(){
。。。。。。
});
这个标示的是当DOM(文档对象模型)已经加载,并且页面(包括图像)已经完全呈现时,会触发 ready 事件。
#6
你好,我试了一下,不写在ready()里也不行
<script type="text/javascript">
$(window).unload(function(){
alert('adsf');
});
</script>
#7
哦,我看了我的版本,我的是IE9,火狐是19.0.2(最新版)
#8
unload事件在火狐和Chrome中对alert是阻止弹出的,所以你的代码看不到效果。
详见: http://*.com/questions/6063522/jquery-beforeunload
但unload事件可以进行一些对象销毁,事件解除绑定等清理工作,这通常是难以看到的。
在IE10中,刷新可以看到弹出alert。
如果你想在用户离开页面之前确认是否离开,最好使用beforeunload事件
详见: http://*.com/questions/6063522/jquery-beforeunload
但unload事件可以进行一些对象销毁,事件解除绑定等清理工作,这通常是难以看到的。
在IE10中,刷新可以看到弹出alert。
如果你想在用户离开页面之前确认是否离开,最好使用beforeunload事件
#9
在IE中刷新确实可以弹出alert。
我把代码改成before():
<script type="text/javascript">
$(document).ready(function(){
$(window).beforeunload(function(){
alert('asdf');
});
});
</script>
但是在火狐、谷歌、IE还是看不到效果。
我怎样写才能达到这样的效果:关闭、点击链接、输入地址都窗口弹出alert
#10
在beforeunload事件里,不需要alert,该事件会自动产生一个弹出框,
就算你加了alert也是没效果的。
另外,要使beforeunload事件能自动弹出框,必须得有返回值,如:
$(window).beforeunload(function(event){
var message = “I’m really going to miss you if you go.”;
event.returnValue = message;
return message;
});
上面的代码可以达到关闭、点击链接、输入地址都窗口弹出框的效果。
把返回值message设为你想显示的信息
#11
谢谢您了,解决了我的问题