js事件机制
来源:互联网 发布:手机淘宝怎么没有直播 编辑:程序博客网 时间:2024/06/13 14:25
事件模型
javascript的事件从window->document>目标元素>document>window,整个一个循环。从window到目标元素这部分叫做捕获阶段,从模板元素到window叫做冒泡阶段。
如下图(网络盗图)
stopPropagation
这个方法能阻止事件继续传播,这就注定了它只能阻止事件在冒泡阶段传播,至于捕获阶段注册的父级事件还是会执行。
<div id="father"> <h4>事件</h4> <div id="son"> <span>儿子</span> </div></div><script type="text/javascript">window.onload = function(){ var father = document.getElementById('father'); father.addEventListener("click",function(){ console.log('father click'); },true);//在捕获阶段注册事件 var son= document.getElementById('son'); son.addEventListener("click",function(e){ e.stopPropagation(); console.log('son click'); });//在冒泡阶段注册}</script>
在这种情况下子元素无论注册什么类型的事件,父亲节点总会执行事件。这是为什么呢
前面说到事件执行是从上到下,再从下到上,父亲节点在前面总会先执行,等父亲节点事件执行完了再轮到子节点执行,子节点执行完了之后,事件从下往上传播到父亲节点,如果这个时候父亲节点又注册了冒泡事件,则会继续执行(如果子节点事件中使用了stopPropagation方法,则不会执行父亲节点事件),一直到顶级。
preventDefault方法
这个方法只是阻止事件的默认行为,跟事件传播关系不大。
阅读全文
0 0
- js 事件机制兼容性
- js事件监听机制
- js事件机制
- js事件流机制
- js 事件机制
- js中的事件机制
- js事件委托机制
- js事件机制
- Node.js事件机制
- JS 事件循环机制
- Js事件机制
- js事件机制
- Node.js的事件机制
- JS的事件监听机制
- JS的事件监听机制
- JS的事件监听机制
- node.js的事件机制
- js_day19--js事件驱动机制
- git 基本操作
- #HYSBZ3626[LNOI2014]#LCA(经典模型:树剖+线段树维护和)
- kubernetes安装教程,离线安装,内网安装,1.8版本,包含安装包
- 约瑟夫环问题用Python的解法
- Python实现 Pat1019 数字黑洞
- js事件机制
- Vue2中的键盘事件
- Java8函数式编程之七:Stream(流)的各种操作
- LeetCode——Climbing Stairs
- 初识多线程
- 2017.11.1总结
- 字典树的实现
- 完美世界校招在线笔试题-互联网Java(11月1日)编程题
- 弹球游戏实验:Ball_Game v1.0