zoukankan      html  css  js  c++  java
  • DOM 事件

    DOM 事件的级别

    • DOM0 element.onclick = function() {}
    • DOM2 element.addEventListener('click', function() {},false)
    • DOM3 element.addEventListener('keyup', function() {}, flase)

    DOM 事件模型

    • 捕获:从上到下
    • 冒泡:从当前元素往上

    DOM 事件流:

    浏览器在当前页面与用户做交互的过程,比如说点击了鼠标左键,这个事件是怎么传到页面上,这个就是事件流。它是怎么响应的?分3个阶段:

    1. 捕获
    2. 目标阶段(事件通过捕获到达目标元素)
    3. 从目标元素再上传到window 对象就是冒泡过程

    描述 DOM 事件捕获的具体流程

     

    Event 对象的常见应用

    • event.preventDefault(): 阻止默认事件
    • event.stopPropagation(): 阻止冒泡
    • event.stopImmediatePropagation(): 一个按钮绑定了两个click 事件1,2,想通过优先级的方式比如说第一个响应函数是A,第二个响应函数是B,依次注册了A,B 两个事件,按优先级的方式想在A点击的时候不要执行B,在A 的响应事件中加上这个就可以阻止B事件的触发
    • event.currentTarget: 当前所绑定的事件
    • event.target: 当前被点击的元素

    自定义事件

    var eve = new Event('custom')
    ev.addEventListener('custom', function() {
       console.log('custom') 
    })
    ev.dispatchEvent(eve)

    CustomEvent: 也是自定义事件的一个方法,如果想给事件加一些事件Event 是做不到的,这个时候就需要 CustomEvent

    总结:Event 和 CustomEvent 都是做自定义事件的,他们两个唯一的区别是:CustomEvent 除了可以指定事件名还可以加一个object 做参数(指定事件名+参数),event 不能加参数,两个用法一样

  • 相关阅读:
    面向对象
    6.jQuery基础_试题
    5.JavaScript操作BOM、DOM对象_试题
    css疑问
    JAVA学习笔记_五JAVA开发中的WEB前端技术
    java学习笔记_mysql随堂考试_错题
    java学习笔记④MySql数据库--03/04 DQL查询
    java学习笔记④MySql数据库--01/02 database table 数据的增删改
    java学习笔记③JAVA核心API编程-01集合框架和泛型
    java学习笔记②JAVA面向对象
  • 原文地址:https://www.cnblogs.com/queenya/p/13650727.html
Copyright © 2011-2022 走看看