a1exlism
10/17/2017 - 5:55 AM

事件冒泡/事件捕获/事件委托

LiveCode: http://runjs.cn/detail/pvsbglwc

Refer: https://segmentfault.com/a/1190000005654451

核心代码:

fucntion foo(e) {
  var x = e.target;
  if(x.nodeName.toLowerCase() === 'xxx') {
    //  do something
  }
  
}
xx.addEventListener(event, function, useCapture)

第三个参数默认为false, 即冒泡阶段处理.也就是说单个事件 冒泡|捕获 必定发生一个

--------阻止冒泡--------

function stopBubble(e) {
  if(e && e.stopPropagation) {
    e.stopPropagation(); // IE9+
  } else {
    window.event.cancelBubble = true;
  }
}