HTML文档中事件、事件流及触发顺序是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计678个文字,预计阅读时间需要3分钟。
1. 首先我们来理解几个关键概念: - 事件 - 事件流 - 事件名称 - 事件处理函数/事件监听函数 - 也可能是老生常谈
2. 事件: - 用户或浏览器自身触发的动作
3. 事件流: - 事件发生的顺序和方式
4. 事件名称: - 事件的具体类型,如点击、滚动等
5. 事件处理函数/事件监听函数: - 处理事件的具体代码块
1.首先我们来了解几个概念,“事件”,“事件流”,“事件名称”,“事件处理函数/事件监听函数,也许是“老生常谈”,知道的朋友可以越过。
- 事件: 事件是用户自身或浏览器进行的特定行为。如:用户点击 也就是常用的click事件
- 事件流:多个事件 按一定顺序触发 形成了事件流
- 事件名称:如上面所讲的click就是事件名
- 事件处理函数/事件监听函数(Dom的叫法)就是 事件触发后的处理函数,如obj.onclick=fn;函数fn就是事件处理函数
3. 冒泡事件,其基本思想是事件从特定的事件目标向非特定的事件目标顺序触发。
先看如下代码:代码
<html><head>
<metawww.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
</head>
<bodyonclick="alert('body')">
<divonclick="alert('div');">
div
<inputid="Button1"onclick="alert('btn');"type="button"value="button"/>
</div>
</body>
</html>
点击 按钮 在ie中,依据我们对上面的了解,很容易写出答案了,没错!ie只有冒泡事件 所以 顺序为:button>>div>>body;
而在非ie浏览器如moz中 正如我们上面所说的 内嵌式事件 等价于addEventlistener(type,fn,false) 只从冒泡事件中 监听。
所以顺序也是 btn>>div>>body;
在addEventlistener(type,fn,true添加事件时)只监听 “捕获事件” 当第三个参数为false时 只监听 冒泡事件
我们看下面一个例子:
代码<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="www.w3.org/1999/xhtml">
<head>
<metawww.cnblogs.com/niuniu
本文共计678个文字,预计阅读时间需要3分钟。
1. 首先我们来理解几个关键概念: - 事件 - 事件流 - 事件名称 - 事件处理函数/事件监听函数 - 也可能是老生常谈
2. 事件: - 用户或浏览器自身触发的动作
3. 事件流: - 事件发生的顺序和方式
4. 事件名称: - 事件的具体类型,如点击、滚动等
5. 事件处理函数/事件监听函数: - 处理事件的具体代码块
1.首先我们来了解几个概念,“事件”,“事件流”,“事件名称”,“事件处理函数/事件监听函数,也许是“老生常谈”,知道的朋友可以越过。
- 事件: 事件是用户自身或浏览器进行的特定行为。如:用户点击 也就是常用的click事件
- 事件流:多个事件 按一定顺序触发 形成了事件流
- 事件名称:如上面所讲的click就是事件名
- 事件处理函数/事件监听函数(Dom的叫法)就是 事件触发后的处理函数,如obj.onclick=fn;函数fn就是事件处理函数
3. 冒泡事件,其基本思想是事件从特定的事件目标向非特定的事件目标顺序触发。
先看如下代码:代码
<html><head>
<metawww.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
</head>
<bodyonclick="alert('body')">
<divonclick="alert('div');">
div
<inputid="Button1"onclick="alert('btn');"type="button"value="button"/>
</div>
</body>
</html>
点击 按钮 在ie中,依据我们对上面的了解,很容易写出答案了,没错!ie只有冒泡事件 所以 顺序为:button>>div>>body;
而在非ie浏览器如moz中 正如我们上面所说的 内嵌式事件 等价于addEventlistener(type,fn,false) 只从冒泡事件中 监听。
所以顺序也是 btn>>div>>body;
在addEventlistener(type,fn,true添加事件时)只监听 “捕获事件” 当第三个参数为false时 只监听 冒泡事件
我们看下面一个例子:
代码<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="www.w3.org/1999/xhtml">
<head>
<metawww.cnblogs.com/niuniu

