Skip to content

面试知识归纳:2.1DOM事件

DOM事件类

  • 基本概念: DOM事件的级别
  • DOM事件模型
  • DOM事件流
  • 描述DOM事件捕获的具体流程
  • Event对象的常见应用
  • 自定义事件

事件级别

DOM0 element.onclick = function() {}

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

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

事件模型

捕获 从顶级元素 到 目标元素

冒泡 从目标元素 到 顶级元素

事件流

捕获阶段 -> 目标阶段 -> 冒泡过程

描述DOM事件捕获的具体流程: 捕获反之就不列了 window -> document -> html -> body -> ... -> 目标元素

Event对象的常见应用:

event.preventDefault() 阻止默认事件 event.stopPropagation() 阻止冒泡 event.stopImmediatePropagation() 同一节点,绑定多个事件,使用此函数,执行选定事件并阻止其他事件 event.currentTarget 当前绑定的事件 event.target 当前触发事件的元素

自定义事件

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

Event 和 CustomEvent 都用于自定义事件,CustomEvent除了指定事件名还可以传入一个对象,作指定参数

共 20 个模块,1301 篇 Markdown 文档。