js——事件

事件:

  1、事件流

    描述的是从页面接收事件的顺序

    IE事件流是事件冒泡流,Netscape的时间捕获

  2、事件流阶段

    (1)事件捕获阶段  (2)处于目标阶段  (3事件冒泡阶段)

    事件捕获阶段:从最不具体的节点(Window/document)接受事件 往具体的节点进行传播

    事件冒泡阶段:从具体的节点开始接收事件,逐级往上传递到最不具体的节点

  3、事件对象

    3.1  e.eventPhase 描述事件的发生的阶段

      事件捕获阶段

      事件目标阶段

      事件冒泡阶段

    3.2 事件目标

      e.currentTarget  ===this

      e.target

      e.srcElement

      //兼容性代码

      var target =  e.target || e.srcElement;

    3.3 事件代理  也叫时间委托

    3.4 取消默认行为

      e.preventDefault

      e.returnValue  = false

       return = false;

    

    3.5 事件冒泡

      e.bubbles

         blor focus scroll  三个事件的返回值都是false

      e.stopPropagation  //常用

      e.stopInmediatePropagation();

      e.cancelBubble = true;

      var handler = function(e){

          e  = e ||window.event;

          if(e.stopPropagation){

            e.stopPropagation();

           }else{

              e.cancelBubble = ture;        

}

  4、事件处理程序

    1)HTML事件处理程序

    2)DOM0 事件处理程序

      btn.onclick = function(e){

        e = e ||window.event;

      }

    3)DOM2级事件处理程序

      btn.onclick = function(){} //有事件覆盖现象

        btn.addElementListener('click',function(){},false);

      btn.addEventListener("click",function(){});

      btn.removeEvenListener("click",hander);  //移除事件

     4)IE事件的兼容性

      btn. attachEvent("onclick",function(){})

      

   5. 事件对象的属性 坐标位置

    5.1 client x/y  screen x/y page x/y offset x/y

      

原文地址:https://www.cnblogs.com/wocaonidaye/p/13055996.html