美文网首页
22.DOM事件类

22.DOM事件类

作者: 笨蛋小明 | 来源:发表于2018-11-19 13:35 被阅读0次

一、事件级别

//dom0
element.onclick = function(){}

//dom2
element.addEventListener('click',function(){},false)

//dom3
element.addEventListener('keyup',function(){},false)

二、事件模型

捕获、冒泡


三、事件流

事件流.png

事件通过捕获到达目标元素,之后事件通过冒泡再上传到window对象。


四、DOM事件捕获的具体流程

window =>document =>html =>body =>... =>目标元素

事件捕获的具体流程.png

ps:js获取document节点document.documentElement


五、Event对象常见应用

event.preventDefault()//阻止默认行为,如a链接跳转

event.stopPropagation()//阻止冒泡

event.stopImmediatePropagation()//执行完当前事件处理程序之后,停止当前节点以及所有后续节点的事件处理程序的运行

event.currentTarget//绑定事件的元素如:ul
event.target//触发的元素如:li
//事件委托
<ul id="ul1">
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

var ul1 = document.getElementById('ul1');
 ul1.addEventListener('click',function (e) {
    console.log(e.target)  //<li>2</li>
    console.log(e.currentTarget)  //<ul id='ul1'></ul>
})

六、自定义事件

<button id='ev'>ev button</button>

var ev = document.getElementById("ev");
    var eve = new Event('custome')
    ev.addEventListener('custome', function () {
        console.log('custome')
    })
    ev.dispatchEvent(eve);

CustomEvent 可以创建一个更高度自定义事件,还可以附带一些数据,具体用法如下:

var myEvent = new CustomEvent(eventname, options);

其中 options 可以是:

{
  detail: {
    ...
  },
  bubbles: true,
  cancelable: false
}

相关文章

  • 22.DOM事件类

    一、事件级别 二、事件模型 捕获、冒泡 三、事件流 事件通过捕获到达目标元素,之后事件通过冒泡再上传到window...

  • 22.Dom、事件

    问答 1、dom对象的innerText和innerHTML有什么区别? innerText属性①innerTex...

  • QQ事件类型

    事件类型 事件类 基类 消息类 系统通知消息

  • 事件类

    事件类 1.java.lang.object类 java.util.EventObject 类是所有事件对象的基础...

  • 事件 —— Application Event

    自定义事件 事件的监听器 事件发布 配置类 启动类

  • 6. Spring4.x 事件 ApplicationEvent

    ApplicationEvent的基本使用 自定义事件 事件监听器 事件发布类 配置类 Main测试类 输出

  • C#之事件(event)

    事件是什么 类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送事件的类称为“发行者”,接收事件的类称为“...

  • 26、事件 event

    1. 简介: 类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送事件的类称为“发行者”,接收事件的类称为...

  • 面向对象(十八)-事件 event

    1. 简介: 类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送事件的类称为“发行者”,接收事件的类称为...

  • Spring5参考指南:事件Event

    Spring提供了很方便的事件的处理机制,包括事件类ApplicationEvent和事件监听类Applicati...

网友评论

      本文标题:22.DOM事件类

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