js事件深入学习

JavaScript的事件机制包含,事件绑定、事件监听、事件委托(事件代理)等

js中的事件流

  • ① .冒泡:当下级节点触发某个事件的时候,该事件会逐级向上触发上级节点的同类事件。

  • ② .捕获:和冒泡类似,只不过事件的顺序相反。即是从上级节点传递到下级节点

事件绑定

  • 在DOM元素中直接绑定;
  • 在JavaScript代码中绑定;
  • 绑定事件监听函数addEventListener()。

事件监听

  • 关于事件监听,W3C规范中定义了3个事件阶段,依次是捕获阶段目标阶段冒泡阶段
  • 优点:1.可以绑定多个事件;2.可以解除相应的绑定

事件委托

  • 定义:给父元素绑定事件,用来监听子元素的冒泡事件,并找到是哪个子元素的事件。

  • 好处:可以避免对每个子元素添加监听器,减少操作DOM节点的次数,从而减少浏览器的重绘和重排,提高代码的性能。使用事件委托,只有父元素与DOM存在交互,其他的操作都是在JS虚拟内存中完成的,这样就大大提高了性能。

  • 使用场景:当子元素有很多,需要对子元素的事件进行监听的时候。

  • 步骤

    • 第一步:给父元素绑定事件
      给元素ul添加绑定事件,通过addEventListener为点击事件click添加绑定
    • 第二步:监听子元素的冒泡事件
      这里默认是冒泡,点击子元素li会向上冒泡
    • 第三步:找到是哪个子元素的事件
      通过匿名回调函数的参数e用来接收事件对象,通过target获取触发事件的目标
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,559评论 1 11
  • Dom事件 事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信。DOM支持大量的事件 (一) Eve...
    woow_wu7阅读 1,817评论 0 1
  • js之事件机制 1、事件初探 1.1 js事件的概述 JavaScript事件:JavaScript是基于事件驱动...
    道无虚阅读 2,437评论 0 2
  • 一、API介绍 HTML:用来存储网页内容;CSS:用来定义这些内容的显示样式;JavaScript:用来创造丰富...
    宠辱不惊丶岁月静好阅读 2,510评论 0 4
  • 事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信。DOM支持大量的事件,本节介绍DOM的事件编程。...
    许先生__阅读 971评论 0 3