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)