js中的事件模型

文章类型:Javascript

发布者:test

发布时间:2023-03-28

在js事件模型中,分为原始事件模型(DOM0级)、标准事件模型(DOM2级)、IE事件模型(基本不用)

一:原始事件模型,监听函数方式有直接绑定、js代码绑定两种,绑定速度快,具有很好的跨浏览器优势,(事件可能无法正常运行),只支持冒泡,不支持捕获,

同一类事件只能绑定一次,绑定多个类型事件不被允许

<input type="button"  οnclick="fun()">

var btn = document.getElementById(".btn");

btn.onclick = fun;

二:标准事件模型,分为三个阶段,可以绑定多个事件处理器,不会冲突,根据第三个参数useCapture状态码决定在捕获执行(true)还是冒泡执行(false)

1:捕获:事件从document一直向下传播到目标元素,依次检查经过的节点是否绑定了事件监听函数,如果有则执行

2:处理:事件到达目标元素,触发目标元素的监听函数

3:冒泡:事件从目标元素冒泡到document,依次检查经过的节点是否绑定了事件监听函数,如果有则执行

addEventListener(eventType,hander,userCapture)

removeEventListener(eventType,hander,useCapture)

三:IE事件模型

1:处理:事件到达目标元素, 触发目标元素的监听函数。

2:冒泡:事件从目标元素冒泡到document, 依次检查经过的节点是否绑定了事件监听函数,如果有则执行

attachEvent(eventType, handler)

detachEvent(eventType, handler)