在javascript中,事件对象(event)是用来记录一些事件发生时的相关信息的对象;事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
什么是事件对象(event):
事件对象是用来记录一些事件发生时的相关信息的对象。
事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁!
注:其实事件一直都是存在的(不管有没有绑定 或 监听),它只是没有事件处理程序而已!!!
JavaScript事件是:浏览器、文档(document)窗口中的发生的特定的交互瞬间;而JavaScript和HTML之间的交互行为就是通过事件来触发的。
事件处理程序:
事件处理程序:我们用户在页面中进行的点击这个动作,鼠标移动的动作,网页页面加载完成的动作等,都可以称之为事件名称,
即:click、mousemove、load等都是事件的名称。响应某个事件的函数则称为事件处理程序,或者叫做事件侦听器。
事件类型:
在JavaScript中事件大至分为了三大类,分别是一般事件、表单事件、页面事件这3种。
-
UI事件:如load、unload、error、resize、scroll、select、DOMActive,是用户与页面上的元素交互时触发的。
-
焦点事件:如blur、DOMFocusIn、DOMFocusOut、focus、focusin、focusout,在元素获得或失去焦点的时候触发,这些事件当中,最为重要的是blur和focus,有一点需要引起注意,这一类事件不会发生冒泡!
-
鼠标与滚轮事件:如click、dblclick、mousedown、mouseenter、mouseleave、mousemove、mouseout、mouseover、mouseup,是当用户通过鼠标在页面执行操作时所触发的。
-
滚轮事件:mousewheel(IE6+均支持)、DOMMouseScroll(FF支持的,与mousewheel效果一样)。是使用鼠标滚轮时触发的。
-
文本事件:textInput,在文档中输入文本触发。
-
键盘事件:keydown、keyup、keypress,当用户通过键盘在页面中执行操作时触发。
-
合成事件:DOM3级新增,用于处理IME的输入序列。所谓IME,指的是输入法编辑器,可以让用户输入在物理键盘上找不到的字符。compositionstart、compositionupdate、compositionend三种事件。
-
变动事件:DOMsubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMAttrModified、DOMCharacterDataModified等,当底层DOM结构发生变化时触发。IE8-不支持。
-
变动名称事件:指的是当元素或者属性名变动时触发,当前已经弃用!
对于事件的基本类型,随着HTML5的出现和发展,又新增了HTML5事件、设备事件(单点触控)、触摸事件touch、手势事件等各种事件等
其他事件如下
资源事件
事件名称 | 何时触发 |
---|---|
error | 资源加载失败时。 |
abort | 正在加载资源已经被中止时。 |
load | 资源及其相关资源已完成加载。 |
beforeunload | window,document 及其资源即将被卸载。 |
unload | 文档或一个依赖资源正在被卸载。 |
网络事件
事件名称 | 何时触发 |
---|---|
online | 浏览器已获得网络访问。 |
offline | 浏览器已失去网络访问。 |
WebSocket 事件
事件名称 | 何时触发 |
---|---|
open | WebSocket 连接已建立。 |
message | 通过 WebSocket 接收到一条消息。 |
error | WebSocket 连接异常被关闭(比如有些数据无法发送)。 |
close | WebSocket 连接已关闭。 |
CSS 动画事件
事件名称 | 何时触发 |
---|---|
animationstart | 某个 CSS 动画开始时触发。 |
animationend | 某个 CSS 动画完成时触发。 |
animationiteration | 某个 CSS 动画完成后重新开始时触发。 |
CSS 过渡事件
事件名称 | 何时触发 |
---|---|
transitionstart |
监听过渡事件开始时触发。 |
transitionrun |
监听过渡事件进行时触发。 |
transitionend |
监听过渡事件结束时触发。 |
打印事件
事件名称 | 何时触发 |
---|---|
beforeprint | 打印机已经就绪时触发。 |
afterprint | 打印机关闭时触发。 |
剪贴板事件
事件名称 | 何时触发 |
---|---|
cut | 已经剪贴选中的文本内容并且复制到了剪贴板。 |
copy | 已经把选中的文本内容复制到了剪贴板。 |
paste | 从剪贴板复制的文本内容被粘贴。 |
【