JS事件流

事件流:
当页面元素触发事件的时候,该元素的容器以及整个页面都会按照特定顺序响应该元素的触发事件,事件传播的顺序叫做事件流。

一、事件流的分类

  1.冒泡型事件(所有的浏览器都支持 w3c标准)

    由明确的事件源到最不确定的事件源依次向上触发。

  2.捕获型事件(IE不支持 w3c标准 火狐)
    不确定的事件源到明确的事件源依次向下触发。
      addEventListener(事件,处理函数,false)
      addEventListener(事件,处理函数,true)

二、阻止事件流

  IE:
    事件对象.cancelBubble=true; 
  FF:
    事件对象.stopPropagation(); 
      function stopEvent(obj) {
        if(document.all) {
          obj.cancelBubble = true;
        } else {
          obj.stopPropagation();
        }
      }

三、目标事件源的对象
  IE:事件对象.srcElement
  FF:事件对象.target
    btn.onclick = function(e){
      var ev = e || window.event;
      var sv = ev.srcElement || ev.target;
    }

原文地址:https://www.cnblogs.com/fannylovo/p/4669035.html