[Day 26]从零开始学习 JS 的连续-30 Days---冒泡与捕捉事件

冒泡事件- event Bubbling vs. 捕捉事件- event capturing

addEventListener事件监听里写法有三个参数,分别为1.选择事件、2.带入function、3.true或false。

  1. 冒泡事件- event Bubbling : 从指定元素往外找
// 第三个参数为 false
addEventListener('click',function(),false);
  1. 捕捉事件- event capturing : 从最外面找到指定元素
// 第三个参数为 true
addEventListener('click',function(),true);
  1. 举例 :
<body class="body">
    <ul>
        <li><a href="#">1234</a></li>
        <li><a href="#">1234</a></li>
    </ul>
    <div class="box"></div>
    <script src="js/all.js"></script>
</body>
const el = document.querySelector('.box');
el.addEventListener('click',function(){
  alert('box');
  console.log('box');
},false);

const elBody = document.querySelector('.body');
elBody.addEventListener('click',function(){
  alert('body');
  console.log('body');
},false);

// 将上面程序码 false 同时换成 true 则找寻方向会不同。

stopPropagation---中止冒泡

  1. 使用时机可用在元素与元素重叠的情况下,原本会执行第二个监听事件就会被中止。
  2. 在指定的监听事件加上 e.stopPropagation(); 此语法。
<body class="body">
    <ul>
        <li><a href="#">1234</a></li>
        <li><a href="#">1234</a></li>
    </ul>
    <div class="box"></div>
    <script src="js/all.js"></script>
</body>
const el = document.querySelector('.box');
el.addEventListener('click',function(){
  e.stopPropagation();   //中止冒泡语法
  alert('box');
  console.log('box');
},false);

const elBody = document.querySelector('.body');
elBody.addEventListener('click',function(){
  alert('body');
  console.log('body');
},false);

今天就到这结束了。


<<:  Day 29: Detective 简介与操作

>>:  Day26 - [丰收款] 永丰线上收款支付API功能实作总结(2)

Vue出一个展开 / 隐藏 功能

今天练习的主题是用Vue实现列表的展开与隐藏功能 会分为两个范例让大家做演练 范例一 先将isSho...

多台电脑收取相同帐号邮件问题

请教各位大大: 小弟的环境如下 一、柜台四台PC,都使用 Outlook 收发邮件。   邮件主机,...

不符合成本也买 Apple Search Ads 广告的原因

ASA Apple Search Ads 是 App Store 里的广告。 因为 ASA 本身的价...

第56天~

这个得上一篇:https://ithelp.ithome.com.tw/articles/10261...

[Day09] 第九章-Laravel 操作心得及资料来源补充

前言 经过昨天一连串得技术 跟程序轰炸 今天想分享一些使用laravel的心得 并且总结昨天的技术 ...