javaScript WebAPIs编程 DOM 事件绑定 事件解绑

2020年6月28日 作者 张舫

事件

完整的事件分为

  1. 事件被触发的元素对象 (事件源)
  2. 事件类型
  3. 事件处理程

常见鼠标事件

常见键盘事件

常见触屏事件

注册事件(绑定事件)

解绑事件

事件流

事件流描述的是从页面中接受事件的顺序

事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流

DOM事件流分为3个阶段

  1. 捕获阶段 :网景最早提出,,由DOM最顶层节点开始,然后逐级向下传播到最具体的元素接收到的过程.从最高层开始调用方法
  2. 当前目标阶段
  3. 冒泡阶段:IE最早提出,事件开始由最具体的元素接受,然后逐级向上传播到DOM最顶层节点的过程,从最底层开始调用方法

注意

  1. js代码中只能执行<捕获> 或者 <冒泡>其中的一个阶段
  2. onclick he attacheEvent 只能得到冒泡阶段
  3. addEventListener(type , listener [,useCapture]) 第三个参数如果是 true,表示在事件捕获阶段调用事件处理程序,如果是false(默认false) , 表示在事件冒泡阶段调用程序
  4. 实际开发中只关注冒泡
  5. 有些事件没有冒泡,比如 onblur onfocus onmouseenter onmouseleave
  6. 冒泡事件会带给我们麻烦,有时帮助我们做一些巧妙的事情

 

 

 

 

 

 

事件委托(利用事件流完成)

  • 事件委托也称事件代理也称事件委派
  • 不是给每一个节点单独设置,事件监听,而是事件监听器设置在其父节点上,然后利用冒泡原理影响设置每一个子节点,
  • 只操作一次dom提高了程序性能

事件对象

常用事件对象方法和属性

常用鼠标事件对象方法和属性

常用键盘事件对象方法和属性

常用触摸事件对象方法和属性