事件模型

Posted we are young

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件模型相关的知识,希望对你有一定的参考价值。

IE事件模型(没有捕获)(<=ie8)

  1. attachEvent(event, function)
    detachEvent(event, function)
    第一个参数为on+‘event‘;
  2. 目标对象event.srcElement;
  3. this会指向window;
  4. event.cancelBubble = true   // 停止冒泡
    event.returnValue = false    //  阻止默认事件

标准DOM事件模型(捕获、目标、冒泡)(>ie8)

  1. addEventListener(event, function, useCapture)
    removeEventListener(event, function, useCapture)
    useCapture为true,在捕获阶段执行,从外到里触发;
    useCapture为false,在冒泡阶段执行(默认),从里到外触发;
  2. event.target和event.currentTarget
    target在事件流的目标阶段(指向触发事件监听的对象);
    currentTarget在事件流的捕获,目标及冒泡阶段(指向添加事件监听的对象);
    只有当事件流处在目标阶段的时候,两个的指向才是一样的;
    而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级)。
  3. this指向事件监听对象;
  4. event.stopPropagation()  //  停止冒泡
    event.preventDefault()    //   阻止默认事件

以上是关于事件模型的主要内容,如果未能解决你的问题,请参考以下文章

三.Windows I/O模型之事件选择(WSAEventSelect )模型

汇总js事件相关及事件处理模型

事件模型

windows下的IO模型之事件选择(WSAEventSelect)模型

跟我学android之四 事件驱动模型

Javascript事件模型系列事件及事件的三种模型