Dom事件

作者: cAce | 来源:发表于2017-08-25 10:42 被阅读7次

    基本概念

    • Dom事件级别
    • Dom事件模型
    • Dom事件流
    • 描述Dom事件捕获的具体流程
    • Event对象的常见应用
    • 自定义事件(重点)

    Dom事件级别

    • Dom0:ele.onCLick = function(){}
    • Dom2:ele.addEventlistener('click',function(){},false){}
    • Dom3:ele.addEventlistener('keyup',function(){},false){}

    事件模型

    • 捕获:从上至下
    • 冒泡:从下至上

    事件流

    完整的事件流分3个阶段:
    第一阶段:捕获
    第二阶段:到达目标元素
    第三阶段:目标上传到windows(冒泡的过程)

    Dom事件的捕获流程

    windows -> document -> html -> body -> .... -> 目标元素

    Event对象

    • 常见应用
      • event.preventDefault() 取消默认事件
      • event.stopPropagation / event.cancelbubble 取消冒泡
      • event.stoplmmediatePropagation() 事件优先级
      • event.currentTarget 当前绑定的事件
      • evnet.target / event.srcElement 事件源

    自定义事件

    var eve = new Event('custome')
    var ev = document.querySelector('#ev');
    
    //第三个参数,默认为false,执行冒泡触发,true则为捕获触发,参考上述流程
    ev.addEventlistener('custome',function(){},false)
    ev.dispatchEvent(eve) //触发事件
    
    • new Event只能声明一个自定义事件的名称,如果有更多需求可以使用CustomEvent('事件名称'.obj)

    相关文章

      网友评论

          本文标题:Dom事件

          本文链接:https://www.haomeiwen.com/subject/qfcudxtx.html