浏览器事件是DOM API的一部分,而不是JavaScript(ECMAScript)的一部分。
鼠标事件
- ‘mousedown’ – 鼠标设备按下一个元素的时候触发mousedown事件。
- ‘mouseup’ – 鼠标设备从按下的元素上弹起的时候触发mouseup事件。
- ‘click’ – 鼠标点击元素的时候触发click事件。
- ‘dblclick’ – 鼠标双击元素的时候触发dblclick事件。
- ‘mouseover’ – 鼠标移动到某元素上的时候触发mouseover事件。
- ‘mouseout’ – 鼠标从某元素离开的时候触发mouseout事件。
- ‘mousemove’ – 鼠标在某元素上移动但未离开的时候触发mousemove事件。
键盘事件
- ‘keypress’ – 按键按下的时候触发该事件。
- ‘keydown’ – 按键按下的时候触发该事件,并且在keypress事件之前。
- ‘keyup’ – 按键松开的时候触发该事件,在keydown和keypress事件之后。
表单事件
- ‘select’ – 文本字段(input, textarea等)的文本被选择的时候触发该事件。
- ‘change’ – 控件失去input焦点的时候触发该事件(或者值被改变的时候)。
- ‘submit’ – 表单提交的时候触发该事件。
- ‘reset’ – 表单重置的时候触发该事件。
- ‘focus’ – 元素获得焦点的时候触发该事件,通常来自鼠标设备或Tab导航。
- ‘blur’ – 元素失去焦点的时候触发该事件,通常来自鼠标设备或Tab导航。
其它事件
- ‘load’ – 页面加载完毕(包括内容、图片、frame、object)的时候触发该事件。
- ‘resize’ – 页面大小改变的时候触发该事件(例如浏览器缩放)。
- ‘scroll’ – 页面滚动的时候触发该事件。
- ‘unload’ – 从页面或frame删除所有内容的时候触发该事件(例如离开一个页面)。
还有很多各种各样的事件,上面展示的事件是我们在JavaScript里最常用的事件,有些事件在跨浏览器方面可能有所不同。还有其它浏览器实现的一些属性事件。
Event对象:
当事件发生的时候出发某个函数,该Event对象将自动在函数内可用,该对象包含了很多事件触发时候的信息,但IE却没有这么实现,而是自己实现的,IE浏览器是通过全局对象window下的event属性来包含这些信息,虽然不是大问题,但我们也需要注意一下,下面的代码是兼容性的:
if (!e) {
e = window.event;
} // 没有else语句,因为e在其它浏览器已经定义了