zoukankan      html  css  js  c++  java
  • js dom(DOM2事件模型) 事件流,事件捕获,事件冒泡

    参考视频:

    https://www.bilibili.com/video/BV1m7411L7YW/?spm_id_from=333.788.videocard.0

    参考博客: 

    https://blog.csdn.net/chenjuan1993/article/details/81347590

    https://segmentfault.com/a/1190000000749838

    事件模型:

    1 原始事件模型(DOM0级)(没有事件流,一旦执行,马上发生 ,也就是冒泡执行)

    2 DOM2事件模型。(现代浏览器(IE6~8除外)都已经遵循这个规范。)

    (1流程:1次事件的发生包含三个过程:

       (1).事件捕获阶段,(2).事件目标阶段,(3).事件冒泡阶段。

    事件捕获:当某个元素触发某个事件(如onclick),顶层对象document就会发出一个事件流,随着DOM树的节点向目标元素节点流去,直到到达事件真正发生的目标元素。在这个过程中,事件相应的监听函数是不会被触发的。

      事件目标:当到达目标元素之后,执行目标元素该事件相应的处理函数。如果没有绑定监听函数,那就不执行。

      事件冒泡:从目标元素开始,往顶层元素传播。途中如果有节点绑定了相应的事件处理函数,这些函数都会被一次触发。

    2 函数addEventListener(args,args,agrs)

    第一个参数是需要绑定的事件,第二个参数是触发事件后要执行的函数。

    而第三个参数默认值是false,表示在事件冒泡的阶段调用事件处理函数,如果参数为true,则表示在事件捕获阶段调用处理函数。)

    3 IE事件模型。

    1 什么是事件?

     事件就是一个事情,或者一个行为(对于元素来说, 很多事件都是天生自带)

    每个元素都可以产生 某些 可以触发js函数的事件。 比如 ,可以点击某按钮  产生一个onClick事件 触发某个函数。

    事件举例:

      1 鼠标点击 2 鼠标悬浮(移入移出) 3 键盘事件  4 表单选取输入框 5 确定表单 6  键盘事件  7 焦点事件  8 滚动事件。、

    2 事件流。(事件捕获和事件冒泡)

    事件流( 描述页面接受 事件的顺序 ):1 事件捕获阶段。2 处于目标阶段。 3 事件冒泡阶段。

    事件捕获:从顶向下。(脑袋想让脚走) 从顶部流动到下面,才触发事件。

    事件冒泡: 底下向上。( 脚被砸了,然后向上 一层一层向上传播)

    (你把一个可以漂浮在水面上的物品,使劲向水里砸下去,它会首先有一个下降的过程,这个过程就可以理解为从最顶层向事件发生的最具体元素(目标点)的捕获过程;之后由于浮力大于物体自身的重力,物体会在到达最低点( 最具体元素)之后漂浮到水面上,这个过程相对于事件捕获是一个回溯的过程,即事件冒泡。)

    点击目标元素的事件,事件不会立刻触发,而是 1 执行事件捕获,2 一层一层直到找到语句,3 接着触发,4 然后回到顶部。

    1 事件处理程序: (冒泡)

    点击快乐按钮(最底层的元素):从下到上。向上传播。

    点击背景(最外层的元素):只能是最外层。向上传播。

     2 事件处理程序: DOM0级事件处理程序 (默认使用事件冒泡。)

    HTML和JS分离。

    3  事件处理程序: DOM2 级事件处理程序。( add函数由3个参数 事件名 函数 布尔值 默认是false)

     (false:事件冒泡)

    addEventListener( "click", theName, false)

     (true:事件捕获)

    addEventListener( "click", theName, true)

    IE处理程序。

    跨浏览器处理程序。

     1 事件从上到下, 遇见捕获的先执行,然后执行本身,然后向上冒泡。 monter, dught,baby,grandma

  • 相关阅读:
    kali linux源大全
    kali2016.2(debian)快速安装mysql5.7.17
    hadoop java上传文件
    HDFS客户端的权限错误:Permission denied
    hadoop fs命令
    解决Unable to load native-hadoop library for your platform
    并查集。路径压缩 算法运用学习(一)
    HBase快速安装
    记一次zookeeper单机伪集群分布
    ZooKeeper使用命令大全
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14422486.html
Copyright © 2011-2022 走看看