JavaScript处理事件

一、客户端JavaScript程序使用的是一种异步事件驱动的编程模型,以下是关于事件的一些概念:

event type,事件类型,也叫事件名称,比如:mousemove,click,load,keydown

event target,事件目标,是指事件发生或者事件绑定的对象。

event handler,事件处理器或者事件监听器,是事件发生时执行的函数

event object,事件对象,事件发生时,传递给事件处理器的参数,一般包括事件类型,事件目标等属性。

event propagation,事件传播,也叫事件捕捉(event capturing)是浏览器决定在哪个对象上调用事件的处理器的过程。

二、事件类型

事件类型越来越丰富了,一般有三个来源:DOM Level 3事件规范中的、HTML5规范中新定义的、移动设备上特有的。

三、事件注册

1、window.onload=function(){...}//弊端:一个对象只能定义一个事件处理器

2、<button id="myButton" onclick="alert('Thank you');">Click Here</button>

3、addEventListener,removeEventListener:b.addEventListener("click",function(){...},false);//可以为一个对象添加多个事件处理器

4、attachEvent,detachEvent:

四、事件的调用

调用顺序:先调用按1和2方式注册的事件,然后调用方式3注册的事件(按注册顺序调用),最后调用方式4注册的事件(随机的顺序)。

五、文档加载事件(Document load event)

load event在文档以及所有的图片都被加载完以后被调用,此时文档是可以操作的。

DOMContentLoaded在文档被加载和转换,所有延迟的脚本都执行后被调用,但是此时异步脚本和图片可能还在加载。虽然有未完成加载的内容,但是文档也可以被操作了。

原文地址:https://www.cnblogs.com/winson/p/3402251.html