javascript事件模型

闲来无事,总结一下一些前端基础,毕竟人年轻啊,温故而知新。本篇主题是--->js事件模型。

要了解事件模型,先说事件(event)。事件,是javascript的核心,也是其价值所在,当我们在浏览器 中与web页面进行交互时,事件就发生了,比如点击元素、鼠标经过某

个区域、按下键盘的某个键、浏览器窗口大小改变等等。

我们现在所说的事件,已是DOM的重要组成部分,但并不是必要组成部分,有可能我写的就是个静态页面,什么交互都不提供,就给你看看呢。但是,做前端开发的,永远避

免不了一个东西------- IE浏览器。目前IE仍保留其独有的事件模型(冒泡型),其现代事件绑定的方式,也是其独有的,而诸如chrome、Firfox、Opera、Safari等主流浏览器都支

持标准的DOM事件处理模型(捕获型和冒泡型)。但是,IE的事件模型一部分被纳入了DOM标准,这就解决了一个跨浏览器事件处理的麻烦。

我们都知道DOM是一个树状型结构,作为DOM的组成部分,事件在某一元素上发生时,会在其发生的节点与根元素之间按某种顺序传递,这个过程称之为事件流!之所以说

是“某种顺序”,它有两个顺序,一个顺序叫事件捕获,一个叫事件冒泡,是不是觉得这两个名字很熟悉,看上面!所以可以这么说,事件在元素之间传递的顺序,决定其事件处理

的模型。下面来说说这两种事件传递顺序:

一、事件捕获:

顾名思义,捕获,想象一下,你家里的鱼缸里养了条金鱼,有一天你想把它捉出来红烧....或是清蒸,你会从鱼缸顶部的水面伸手进去,然后抓住小金鱼,这是你捕获小金鱼的

顺序,也是事件捕获的顺序,水面相当于DOM树的根元素,小金鱼的位置就是事件发生最明确的子节点;

二、事件冒泡

最后你把小金鱼从水底拿出水面,小金鱼会咕嘟嘟咕嘟嘟地冒泡泡,出了水面就冒不了泡了,这个过程就叫做事件冒泡。(虽然看起来很扯淡,但这就是事实啊^_^),不过

还有个问题,那就是这个根节点是到哪里呢?这个其实是没确定的,一般是从document开始,到document结束,但是大部分兼容DOM标注的浏览器,会在document的基础上上

升一个层次,即从window对象开始,到window对象结束,具体的个人研究咯。

以上就是就是本人对事件模型理解的阐述,如有错误的地方,欢迎大神指导!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值