From 2a526b97c2c3a4598e75f1dce2f362e99a0e79dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=97=BB=E7=A5=A5?= <18396581747@163.com> Date: Sun, 19 Nov 2023 16:56:48 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 周闻祥 <18396581747@163.com> --- ...73\346\255\242\351\273\230\350\256\244.md" | 419 ++++++++++++++++++ 1 file changed, 419 insertions(+) create mode 100644 "21 \345\221\250\351\227\273\347\245\245/20231114\344\272\213\344\273\266\346\265\201\357\274\214\345\247\224\346\211\230\357\274\214\351\230\273\346\255\242\351\273\230\350\256\244.md" diff --git "a/21 \345\221\250\351\227\273\347\245\245/20231114\344\272\213\344\273\266\346\265\201\357\274\214\345\247\224\346\211\230\357\274\214\351\230\273\346\255\242\351\273\230\350\256\244.md" "b/21 \345\221\250\351\227\273\347\245\245/20231114\344\272\213\344\273\266\346\265\201\357\274\214\345\247\224\346\211\230\357\274\214\351\230\273\346\255\242\351\273\230\350\256\244.md" new file mode 100644 index 0000000..ebca19a --- /dev/null +++ "b/21 \345\221\250\351\227\273\347\245\245/20231114\344\272\213\344\273\266\346\265\201\357\274\214\345\247\224\346\211\230\357\274\214\351\230\273\346\255\242\351\273\230\350\256\244.md" @@ -0,0 +1,419 @@ +# 笔记 + +### 事件流 + +事件流是对时间执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。 + +任意事件被触发时总会经历两个阶段: + +【捕获阶段】:是【从父到子】的传导过程, + +【冒泡阶段】:是【从子向父】的传导过程。 + +### 事件解绑 + +需有方法名 + +### 鼠标经过事件: + + mouseover 和 mouseout 会有冒泡效果 + + mouseenter 和 mouseleave 没有冒泡效果 (推荐) + +### 事件委托 + +```javascript +// 以事件委托的形式实现 + // 点击每个小li 当前li 文字变为红色 + // 1.获取li的父元素 + const ul = document.querySelector('ul'); + // 2.给ul添加点击事件 + ul.addEventListener('click',function(e){ + // 3.使用事件对象 e.target.tagName 代表被 + // console.log(e.target); // 被点击的对象的目标 + // console.dir(e.target); // 被点击的对象的目标的标签名称 + /* + e 事件对象 + e.target 事件对象的点击目标 + e.target.tagName 目标的标签名称 + */ + if(e.target.tagName === 'LI'){ + //this. 此时这里this是ul所以不能用this + e.target.style.color = 'red' + } + + if(e.target.tagName === 'P'){ + //this. 此时这里this是ul所以不能用this + e.target.style.color = 'blue' + } + }) +``` + +### 阻止默认行为 + +```javascript + e.preventDefault(); //阻止对象的默认行为 + + e.stopPropagation(); //阻止冒泡行为 +``` + + + +# 作业 + +### 全选按钮案例 + +```html + + + + +
+ +| + 全选 + | +商品 | +商家 | +价格 | +
|---|---|---|---|
| + + | +小米手机 | +小米 | +¥1999 | +
| + + | +小米净水器 | +小米 | +¥4999 | +
| + + | +小米电视 | +小米 | +¥5999 | +
我需要蓝色
+ 我不需要变色 +