首页 > 其他分享 >EventTarget.addEventListener() - Web API 接口参考

EventTarget.addEventListener() - Web API 接口参考

时间:2022-11-30 10:35:23浏览次数:80  
标签:Web useCapture checked EventTarget API addEventListener true

EventTarget.addEventListener() - Web API 接口参考 

 

https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener#%E8%AF%AD%E6%B3%95

 

 

<!DOCTYPE html>
<html lang="zh-CN>
<head>
    <meta charset=" UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
    div {
        padding: 15px;
        border: 1px solid #e5f3fe;
        position: relative;
        overflow: hidden;
    }

    span {
        background-color: #f2f1f1;
        padding: 8px 15px;
        margin: 15px;
        display: inline-block;
    }

    .description {
        font-size: 22px;
        font-weight: 600;
    }
</style>
</head>

<body>
    <p class="description">
        ok 兄弟你每次点击“节点2” 就会发现这个参数的不同点了。是不是 它的触发顺序出现了不同 对 就是这样的。
    </p>
    <label>
        <input onchange="radioChange(this.value)" checked name="useCapture" type="radio" id="radio1" value="true" />
        useCapture=true
    </label>
    <label>
        <input onchange="radioChange(this.value)" name="useCapture" type="radio" id="radio2" value="false" />
        useCapture=false
    </label>
    <div title="节点1">
        <span>节点1</span>
        <div title="节点2">
            <span>节点2</span>
        </div>
    </div>

    <script>
        //  个人总结:false的话 就是事件冒泡了 从子元素到父元素
        // true的话   就是事件捕获 从父到子!
        let useCapture = true
        // 添加事件
        function bindEvent() {
            const targets = document.querySelectorAll('div')
            targets.forEach(element => {
                element.addEventListener('click', handleClick, useCapture)
            });
        }
        // 移除事件
        function removeEvent() {
            const targets = document.querySelectorAll('div')
            targets.forEach(element => {
                element.removeEventListener('click', handleClick, useCapture)
            });
        }
        // div click handle
        function handleClick(){
            alert(this.getAttribute('title'))
        }
        // 处理 radio change
        function radioChange(checked) {
            removeEvent()
            checked = new Boolean(checked)
            console.log('radioChange')
            console.log(checked)
            useCapture = checked
            bindEvent()
        }
        // 执行绑定事件
        bindEvent()
    </script>
</body>

</html>

 

   
 个人总结:false的话 就是事件冒泡了 从子元素到父元素true的话   就是事件捕获 从父到子!

 

 

标签:Web,useCapture,checked,EventTarget,API,addEventListener,true
From: https://www.cnblogs.com/yeminglong/p/16937663.html

相关文章

  • Web上的图片技巧
    作者| Ahmad  译者| 飘飘 原文| https://ishadeed.com/article/image-techniques/前端开发者在构建网站时需要做的一个决定是添加图片的技术。它可以是一个HTML......
  • 三大实例带你搞定 Prometheus API 使用
    作为一位优秀的技术人员,往往能通过对数据的最大化利用来产生更多价值。而Prometheus的监控数据则是可以为我们所用的重要数据,它并不只能用于日常的监控和告警使用,也可以用......
  • 2010年10月全球web服务器调查
    根据netcraft的调查,2010年10月,对全球232,839,963个网站的web服务器进行了统计,这个月,netcraft在所有域名商观察到有1400万个新站点 如下图,A.........
  • webpack源码之ast简介
    什么是AST树是一种重要的数据结构,由根结点和若干颗子树构成的。根据结构的不同又可以划分为二叉树,trie树,红黑树等等。今天研究的对象是AST,抽象语法树,它以树状的形式......
  • 跨平台.NET应用UI组件DevExpress XAF v22.1 - 增强Web API Service
    DevExpressXAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpressXAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比......
  • 安询杯web复现
    安询杯babyweb源码:index.php<?php//something in flag.phpclass A{    public $a;    public $b;    public function __wakeup()   ......
  • ISAPI和CGI限制中没有ASP.NET v4.0
    文章来源:http://t.zoukankan.com/heyangyi-p-8515812.html[服务器搭建]ISAPI和CGI限制中没有ASP.NETv4.0解决方式:1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重......
  • 怎么给IIS添加ISAPI和CGI限制功能?
    https://www.aiufida.com/jcufida/616.html在IIS中添加ISAPI和CGI限制功能是非常必要的,因为如果在IIS中不添加添加ISAPI和CGI限制功能可能会引起软件运行过程中报错,或者直......
  • 使用 Hypercorn HTTP/2 ASGI 部署 FastAPI
    AnotherASGIwebserverthatsupportsHTTP/2andHTTP/3specifications我已经介绍了很多关于FastAPI的教程,其中服务器部署了Uvicorn,一个快速的ASGIWeb......
  • .NET6之MiniAPI(二十四):用Polly重试
    为了保障系统的稳定和安全,在调用三方服务时,可以增加重试和熔断。重试是调用一次失败后再试几试,避免下游服务一次闪断,就把整个链路终止;熔断是为了防止太多的次数的无效访......