博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 事件模型
阅读量:7011 次
发布时间:2019-06-27

本文共 1053 字,大约阅读时间需要 3 分钟。

1.事件模型

(1)原始事件模型

直接给元素绑定事件,只处理当前元素的事件,无事件传递。

(2)IE事件模型

冒泡模型

(3)W3C事件模型

捕获模型+冒泡模型

a.捕获阶段

从document向上(到触发事件的元素方向)传递事件,遇到注册事件就执行。

b.目标阶段

到达触发事件的元素位置,执行事件处理函数。

c.冒泡阶段

从事件触发元素向document方向上传递事件,玉带注册事件就执行。

2.event对象

在W3C规范中,event对像随事件处理函数传入,Chrome FireFox Opera Safari IE9及IE+都支持。IE8及IE8-,event是window对象的一个属性。考虑到兼容性时,如下代码:

var event = event || window.event;

event对象属性:

(1)screenX/screenY(+W3C +IE)

距离显示器左/上位置。

(2)clientX/clientY(+W3C +IE)

距离可视区域左/上位置。

(3)pageX/pageY(-W3C -IE)

距离页面左/上位置。

(4)offsetX/offsetY(-W3C +IE)

距离具有定位属性的父元素的左/上位置。

(5)target(+W3C -IE),srcElement(-W3C +IE)

触发事件的目标元素。

(6)currentTarget(+W3C -IE)

当前处理事件的元素。

(7)preventDefault()(+W3C -IE)

阻止事件的默认行为。

(8)stopPropagation()(+W3C -IE) cancelBubble(-W3C +IE)

阻止事件捕获和冒泡。

  

 3.事件绑定与解除

(1)原始事件

绑定:

elem.type = observer;

解除:

elem.type = null;

(2)IE

绑定:

elem.attachEvent('type',observer);

解除:

elem.detachEvent('type',observer);

(3)W3C

绑定:

elem.addEventListener('type',observer,isUseCapture);

解除:

elem.removeEventListener('type',observer,isUseCapture);

 

转载于:https://www.cnblogs.com/fe-huahai/p/5642092.html

你可能感兴趣的文章
数据中心呼吁800GE规范出炉
查看>>
云适配签约中远海运特运 构建移动BPM平台
查看>>
切莫忽视SaaS云应用安全性
查看>>
Wallpad:墙中的家庭中控
查看>>
NSA方程式Easybee攻击程序漏洞复现与分析
查看>>
Java 并发包中的读写锁及其实现分析
查看>>
WiFi过敏?没准是心病
查看>>
Linux下使用SSH命令行传输文件到远程服务器
查看>>
全球最不安全Wifi地标出炉:纽约时代广场居首
查看>>
闪存在企业中的用途原来有这么多
查看>>
专访崔崇彦:大数据的真正价值在于预测,而不是说明现状
查看>>
非数据科学家如何进行数据分析?
查看>>
你的测试方法能否确保服务和应用的可用性?
查看>>
美国网络瘫痪惊醒奥巴马政府 将采取措施保护物联网
查看>>
硅谷安全大腕弓峰敏和卜峥加盟滴滴
查看>>
如何成为数据分析师
查看>>
2016年网页设计领域11个流行趋势预测
查看>>
Intel研究全新散热方式:夸张的弹跳水滴
查看>>
华为为什么赢?为什么是华为赢?
查看>>
如何快速掌握阿里巴巴内部高效测试流程?
查看>>