• JavaScript事件处理


    在IE 3.0和Netscape 2.0浏览器中开始出现事件。DOM 2规范开始标准化DOM事件,直到2004年发布DOM 3.0时,W3C才完善事件模型。目前,所有主流浏览器都支持DOM 2事件模块。IE8及其早期版本还继续使用IE事件模块。

    1、事件基础

    1.1、事件模型

    在浏览器发展历史中,出现以下4种事件处理模型:

    • 基本事件模型:也称为DOM 0事件模型。它是浏览器初期出现的一种比较简单的事件模型,主要通过HTML事件属性,为指定标签绑定事件处理函数。由于这种模型应用比较广泛,获得了所有浏览器的支持,目前依然比较流行。但是这种模型对于HTML文档标签依赖严重,不利于JavaScript独立开发。
    • DOM事件模型:由W3C制定,是目前标准的事件处理模型。除了IE怪异模式不支持外,符合标准的浏览器都支持该模型。DOM事件模型包括DOM 2事件模块和DOM 3事件模块,DOM 3事件模块为DOM 2事件模块的升级版,较DOM 2事件模块略有完善,主要是新增加一些事情类型,以适应移动设备的开发需要,但大部分规范和用法保持一致。
    • IE事件模型:IE 4.0及其以上版本浏览器支持,与DOM事件模型相似,但用法不同。
    • Netscape事件模型:由Netscape 4浏览器实现,在Netscape 6中停止支持。

    1.2、事件流

    事件流就是多个节点对象对同一个事件进行响应的先后顺序,主要包括以下3种类型:

    1.冒泡型

    事件从最特定的目标向最不特定的目标(document对象)触发,也就是事件从下向上进行响应,这个传递过程被形象地称为冒泡。

    2.捕获型

    事件从最不特定的目标(document对象)开始触发,然后到最特定的目标,也就是事件从上向下进行响应。

    3.混合型

    W3C的DOM事件模型支持捕获型和冒泡型两种事件流,其中捕获型事件流先发生,然后发生冒泡型事件流。两种事件流会触及DOM中的所有层级对象,从document对象开始,最后返回document对象结束。

    因此,可以把事件传播的整个过程分为3个阶段:

    • 捕获阶段:事件从document对象沿着文档树向下传播到目标节点,如果目标节点的任何一个上级节点注册了相同事件,那么事件在传播的过程中就会首先在最接近顶部的上级节点执行,依次向下传播。
    • 目标阶段:注册在目标节点的事件被执行。
    • 冒泡阶段:事件从目标节点向上触发,如果上级节点注册了相同的事件,将会逐级响应,依次向上传播。

    1.3、绑定事件

    在基本事件模型中,JavaScript支持两种绑定方式。

    1.静态绑定

    把JavaScript脚本作为属性值,直接赋予事件属性。

    【示例1】把JavaScript脚本以字符串的形式传递给onclick属性,为

  • 相关阅读:
    BUUCTF 被偷走的文件 1
    驱动开发:内核运用LoadImage屏蔽驱动
    Centos7 安装部署 Kubernetes(k8s) 高可用集群
    GO语言 | go work 神一般的管理 多个module没烦恼
    FlinkCDC基础篇章1-安装使用
    C++设计模式:策略模式(二)
    计算机网络的七层结构、五层结构和四层结构
    7-zip压缩包密码忘记了,怎么破解?
    聚观早报 | 长二丁成功发射北京三号B星;​字节推出“悟空搜索”
    13 最大子数组和
  • 原文地址:https://blog.csdn.net/YYBDESHIJIE/article/details/134297387