本文很大程度上参考、整理自《DOM Enlightenment》及网络
可以到MDN的Event reference去查看所有event及相关文档。
本文会讲述以下类型的常用事件:
- UI事件
- Window、<body>特有事件
- Document特有事件
- Drag事件
UI事件
- load,资源读取完成后触发;这些资源可能是html页面、css、frameset或js文件等,不可冒泡
- unload,资源被删除,或页面被关闭的时候触发,发生在beforeunload及pagehide事件之后,不可冒泡
- abort,资源读取被中断是触发,通常发生在XMLHttpRequest上
- error,资源读取失败或有其他错误(格式不对等)时触发,通常发生在XMLHttpRequest上
- resize,界面大小被改变时触发,只会在window、
<body>及<frameset>上发生 - scroll,当元素或document上发生滚动时触发
- contextmenu,在元素上点击鼠标右键时发生,可取消
Window、<body>特有的事件
以下的事件都默认不可冒泡,不可取消
- beforeunload,unload事件前触发,可取消
- hashchange,hash值发生改变时触发
- offline,当浏览器offline的时候触发
- online,浏览器online的时候触发
- pagehide和pageshow,前进、后退是会触发
Document特有的事件
- readystatechange,readyState属性发生改变时触发
- DOMContentLoaded,html加载并转换完成时触发(而不需要等待css、images等的完成),会在load事件之前
Drag事件
- drag,当元素被拖动时会持续地触发,在“被拖动的元素”上发生
- dragstart,拖动开始的时候触发,在“被拖动的元素”上发生
- dragend,拖动结束的时候触发,在“被拖动的元素”上发生
- dragenter、dragleave、dragover及drop,都在“可放置区域元素”上发生