当前位置: 首页 > news >正文

地坪网站建设wordpress 双陈

地坪网站建设,wordpress 双陈,c2c的区别,wordpress评分点评一、事件传播 1、概述 (1)当事件发生在DOM元素上时,该事件并不完全发生在那个元素 (2)在冒泡阶段中,事件冒泡或向上传播至父级、祖父级、祖父的父级,直到 window 为止 (3&#x…

一、事件传播

1、概述

(1)当事件发生在DOM元素上时,该事件并不完全发生在那个元素

(2)在冒泡阶段中,事件冒泡或向上传播至父级、祖父级、祖父的父级,直到 window 为止

(3)在捕获阶段中,事件从 window 开始,向下触发元素、事件或 event.target

2、事件传播的三个阶段

(1)捕获阶段——事件从 window 开始,然后向下到每个元素,直到到达目标元素

(2)目标阶段——事件已达到目标元素

(3)冒泡阶段——事件从目标元素冒泡,然后上升到每个元素,直到到达 window


二、事件冒泡

1、概述

(1)当事件发生在DOM元素上时,该事件并不完全发生在那个元素上

(2)在冒泡阶段、事件冒泡或者事件发生在它的父级,祖父级,祖父的父级,直到到达 window 为止

2、代码实例

(1)HTML结构

<div class="grandparent"><div class="parent"><div class="child">1</div></div>
</div>

(2)对应的JS代码

function addEvent(el, event, callback, isCapture = false) {if (!el || !event || !callback || typeof callback !== 'function') return;if (typeof el === 'string') {el = document.querySelector(el);};el.addEventListener(event, callback, isCapture);
}addEvent(document, 'DOMContentLoaded', () => {const child = document.querySelector('.child');const parent = document.querySelector('.parent');const grandparent = document.querySelector('.grandparent');addEvent(child, 'click', function (e) {console.log('child');});addEvent(parent, 'click', function (e) {console.log('parent');});addEvent(grandparent, 'click', function (e) {console.log('grandparent');});addEvent(document, 'click', function (e) {console.log('document');});addEvent('html', 'click', function (e) {console.log('html');})addEvent(window, 'click', function (e) {console.log('window');})});

addEventListener 方法具有第三个可选参数 useCapture,其默认值为 false

事件将在冒泡阶段中发生,如果为 true,则事件将在捕获阶段中发生。如果单击 child 元素,它将分别在控制台上记录 childparentgrandparenthtmldocument window,这就是事件冒泡


三、事件捕获

1、概述

(1)当事件发生在 DOM 元素上时,该事件并不完全发生在那个元素上

(2)在捕获阶段,事件从 window 开始,一直到触发事件的元素

2、代码实例

(1)HTML 结构

<div class="grandparent"><div class="parent"><div class="child">1</div></div>
</div>

(2)对应的JS代码

function addEvent(el, event, callback, isCapture = false) {if (!el || !event || !callback || typeof callback !== 'function') return;if (typeof el === 'string') {el = document.querySelector(el);};el.addEventListener(event, callback, isCapture);
}addEvent(document, 'DOMContentLoaded', () => {const child = document.querySelector('.child');const parent = document.querySelector('.parent');const grandparent = document.querySelector('.grandparent');addEvent(child, 'click', function (e) {console.log('child');});addEvent(parent, 'click', function (e) {console.log('parent');});addEvent(grandparent, 'click', function (e) {console.log('grandparent');});addEvent(document, 'click', function (e) {console.log('document');});addEvent('html', 'click', function (e) {console.log('html');})addEvent(window, 'click', function (e) {console.log('window');})});

addEventListener 方法具有第三个可选参数 useCapture,其默认值为 false

事件将在冒泡阶段中发生,如果为 true,则事件将在捕获阶段中发生。如果单击 child 元素,它将分别在控制台上打印 windowdocumenthtmlgrandparent parent,这就是事件捕获。

http://www.yayakq.cn/news/290666/

相关文章:

  • 厂 网站 南宁做律师网站的公司
  • 深圳 网站开发公司电话织梦网站后台密码
  • 济宁网站建设推荐淄博网站建设
  • 做网站怎么调用数据库北京各大网站推广平台哪家好
  • 做网站主要是做什么wordpress邮件key
  • 购物网站建设目标概述自主设计网站
  • 手机app网站ysl 官网中国
  • 网站建设三把火科技软件技术专业介绍公布
  • 苏州企业网站建做购物网站
  • 上海做网站的小公司制作商务网站
  • 鄞州区建设局网站dashicon wordpress
  • 展馆网站建设网站tag标签
  • 电商网站前端制作分工最新楼盘价格走势图
  • 禹城有做网站wordpress更改主题
  • 网站建设费用 会计分录4p营销理论
  • 如何申请网站备案解决方案网站设计
  • 做网站需要先申请域名网站布局建议
  • 网站推广引流推荐网站在线看兄弟们
  • 哪家公司做网站商业网站建设案例课程 下载
  • 站长网站提交asp.net 企业官网网站 源码 多风格 多模板 多皮肤
  • 什么网站框架网站做项目
  • 网站怎么做后台网站首页模板下载
  • 企业做网站需要什么手续吗卢沟桥网站建设
  • 滁州市南谯区规划建设局网站免费做二建题的网站
  • pc网站如何做移动适配升腾d9116 做网站
  • 凤岗镇网站建设国外有哪些网站可以做电商
  • 网络舆情分析的免费网站四川网络推广
  • 在线文档网站源码wordpress 3.8.3
  • 做网站用平板吗佛山建站模板制作
  • 空投糖果网站开发wordpress主题导航调用