UI事件之unload、resize和scroll
2024-10-19 09:00:34
unload事件
当页面卸载或用户从当前页面换到其他页面上时,会在window上触发unload事件。根据DOM2级规范规定,unload应该在body上触发,但所有浏览器都实现了在window上触发unload,以保证向后兼容。
与load事件相同,也有两种绑定方式,推荐使用JavaScript方式:
<!-- html特性方式 -->
<html>
<head></head>
<body unload="alert(unloaded!)"></body>
</html>
//JavaScript方式
EventUtil.addEvent(window,'unload',function(event){
alert('unloaded!');
});
resize事件
当浏览器窗口大小发生变化时,会在window上触发resize事件;注意,firefox浏览器会在窗口大小停止变化时才触发resize事件,而其他浏览器则在窗口发生1px的变化就触发,因此建议不要在你resize事件处理程序中有大量的计算。
scroll事件
当页面随滚动条滚动时会触发连续scroll事件;混杂模式下,基于body计算滚动距离,在标准模式下,基于document计算滚动距离:
EventUtil.addEvent(window,'scroll',function(event){
var event = EventUtil.getEvent(event);
if(document.compatMode=='CSS1Compat){
alert(document.documentElement.scrollTop);
}else{
alert(document.body.scrollTop);
}
});
最新文章
- 利用ListView的基本方法实现效果
- BZOJ2159 : Crash 的文明世界
- [译]FastClick: native-like tapping for touch apps
- C# WinForm PropertyGrid用法
- JS获取上传文件的名称、格式、大小
- sql server 分组后字段拼接
- cocos2d-x中CCTextureCache图片资源的异步加载<;转>;
- Csharp 简单操作Word模板文件
- poj1144 Network【tarjan求割点】
- Android和C#实时视频传输Demo
- sublimeText3插件安装
- Composer 安装(一)
- CSS小技巧-为内盒子添加margin-top时,会带着父盒子一起下来,如何解决?
- NDK调试
- Ensemble Learning: Bootstrap aggregating (Bagging) &; Boosting &; Stacked generalization (Stacking)
- 聊聊Java语言中的单例
- laravel 目录权限
- 三十五、minishell(3)
- Netty实现简单WebSocket服务器
- [转]简单三步,用 Python 发邮件