zoukankan      html  css  js  c++  java
  • 第十三章——事件对象

          在触发DOM的某个事件上,会产生一个事件对象event,这个对象包含着所有与事件相关的信息。

    DOM中的事件对象

         兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论指定事件处理程序使用什么方法(DOM0级,DOM2级),都会传入event对象。

    event对象包含着与创建它的特定事件有关的属性和方法。触发的事件类型不一样,可用的属性和方法也不一样。如下,是所有事件都有的成员:

    在事件处理函数内部,this始终等于currentTarget的值,而target则只包含事件的实际目标。

    如果直接将事件处理程序指定给了目标元素,则this,currentTarget和target包含相同的值。

    这里点击a标签的时候,相应的this的值和target,currentTarget的对象分别如上图所示。

    在需要通过一个函数处理多个事件时候,可以使用type属性。

    如上例子:

    设置event.stopPropagation(),这样点击test后,就只出现一个提示框。从而避免触发了注册在body上面的click事件,阻止了click事件的冒泡。

    否则的话,就会出现两次提示框。

     事件对象eventPhase属性,可以用来确认事件当前处于事件流的哪个阶段

    执行顺序可以参考DOM2级事件流。

    在这里如果更改addEventListener为冒泡事件,则执行顺序,会发生变化:

  • 相关阅读:
    SplitViewController的简单使用
    ViewController容器
    AnchorPoint 和Position 关系
    __OSX_AVAILABLE_BUT_DEPRECATED
    __OSX_AVAILABLE_STARTING
    UIButton重复点击,重复触发,怎么办
    iOS小技巧:用runtime 解决UIButton 重复点击问题
    FOUNDATION_EXPORT 或#define 或 extern
    nginx第一天
    053-001
  • 原文地址:https://www.cnblogs.com/ydaimee/p/6749823.html
Copyright © 2011-2022 走看看