JS-事件捕获和冒泡

一、事件捕获:事件传递的顺序 (父级到子级)
二、事件冒泡:事件处理的顺序 (默认:子级到父级)
三、取消冒泡

evObj.cancelBubble = true;  // 阻止冒泡
evObj.stopPropagation();     // 停止传播

就是在这个事件中,不向下(或者上)传递

addEvent(box,'click',function(ev){
    console.log("box");
    var evObj = window.event || ev;
    evObj.cancelBubble = true;
})
addEvent(div,'click',function(ev){
    console.log("div");
    var evObj = window.event || ev;
    evObj.cancelBubble = true;
})
addEvent(item,'click',function(ev){
    console.log('item');
    var evObj = window.event || ev;
    evObj.cancelBubble = true;
})

冒泡阶段处理事件(子级到父级)

            默认:item,div,box;     div,box;       box
  box阶段取消冒泡:item,div,box;    div,box;     box
  div阶段取消冒泡:item,div;          div ;         box
 item阶段取消冒泡:item;             div,box;     box

捕获阶段处理事件(父级到子级)

            默认:box,div,item;     box,div;       box
  box阶段取消冒泡:box;              box;          box
  div阶段取消冒泡:box,div;           box,div;      box
 item阶段取消冒泡:box,div,item;      box,div;      box
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景知识 什么是事件?直观的说就是网页上发生的事情,大部分是指用户的鼠标动作和键盘动作,如点击、移动鼠标、按下某个...
    吧啦啦小汤圆阅读 1,964评论 2 15
  • DOM中,如果对象触发事件流,将有两种方式决定对象执行事件的顺序:捕获事件方式和冒泡事件方式。 下面这张图演示一个...
    BennyLoo阅读 644评论 0 1
  • JavaScript 程序采用了异步事件驱动编程模型。在这种程序设计风格下,当文档、浏览器、元素或与之相关的对象发...
    劼哥stone阅读 1,317评论 3 11
  • (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。 (2)捕获型...
    逍遥g阅读 469评论 2 0
  • Catalan数——卡特兰数 今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来后来查了...
    mylocal阅读 703评论 0 0

友情链接更多精彩内容