[Javascript]onbeforeunload事件

同事说想要用户离开当前页面时执行一个事件,我能想到的就是window.onunload和window.onbeforeunload两个事件。比如原来关闭窗口时经常会遇到跳出个广告窗口就是这么做的。

而window.onbeforeunload是在关闭窗口前执行,因此,我们还可以利用它做点别的东西,前两天玩开心网的买房子组件,如果你在动了房子内的摆设而没有保存的就想要离开当前页的话,就会跳出个提示,只有点了确认才能离开当前页面,这就是一个很好的应用。

window.onbeforeunload = function(e){
    e 
= e || window.event;
    e.returnValue
="真的要走?";
}


如果打算使用Mootools的事件来完成,就要稍微变动一下,因为Mootools对浏览器的事件进行了包装,我们可以通过e.event来得到原来的事件,前面的这个e就是Mootools包装后的事件:
window.addEvent('beforeunload',function(e){
    e.event.returnValue
="真的要走?";
}
)


示例 

由于刷新,关闭,前进后退等行为都会触发window.onbeforeunload事件,因此无法直接通过onbeforeunload来区分用户的刷新和关闭行为,网上有代码说能实现,我看了下,只适应于IE6。因此,为了保险起见,不建议那么做。
posted @ 2008-12-17 20:00  勤卓  阅读(1651)  评论(0编辑  收藏  举报