• 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属性,为

  • 相关阅读:
    ESKF及其推导
    PMP提分练习,倒计时1天
    常见的系统类别汇总——包含OA/CRM/ERP/SCM
    C#连接MySql数据库详细步骤
    MyBatis整合多数据源
    k8s-2 集群升级
    五、T100固定资产之固定资产盘点管理篇
    Java-基础题目集(双语)
    Springboot常用的请求方式注解(@RequestMapping、@PutMapping、@DeleteMapping、@PostMapping)
    嵌入式养成计划-45----QT--事件机制--定时器事件--键盘事件和鼠标事件--绘制事件
  • 原文地址:https://blog.csdn.net/YYBDESHIJIE/article/details/134297387