JS 基础篇(冒泡,捕获,事件委托)_2b勿扰的博客-程序员秘密

技术标签: 前端  

冒泡和捕获

 <div id="wrapDiv">wrapDiv
     <p id="innerP">innerP
         <span id="textSpan">textSpan</span>
     </p>
 </div>

 <script>
 var wrapDiv = document.getElementById("wrapDiv");
 var innerP = document.getElementById("innerP");
 var textSpan = document.getElementById("textSpan");

 //绑定监听事件
 // function addEventHandler(target,type,fn,kind){
    
 //     var kindO = kind ? kind :false; //默认是冒泡
 //     if(target.addEventListener){
    
 //         target.addEventListener(type,fn,kindO);
 //     }else{
    
 //         // ie8以下
 //         target.attachEvent("on"+type,fn);
 //     }
 // }

 // addEventHandler(window,'click',function(e){
    
 //     console.log("window 捕获", e.target.nodeName, e.currentTarget.nodeName);
 // }, true)

 window.addEventListener("click", function(e){
    
     console.log("window 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 document.addEventListener("click", function(e){
    
     console.log("document 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 document.documentElement.addEventListener("click", function(e){
    
     console.log("documentElement 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 document.body.addEventListener("click", function(e){
    
     console.log("body 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 wrapDiv.addEventListener("click", function(e){
    
     console.log("wrapDiv 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 innerP.addEventListener("click", function(e){
    
     console.log("innerP 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);

 textSpan.addEventListener("click", function(e){
    
     console.log("textSpan 捕获", e.target.nodeName, e.currentTarget.nodeName);
 }, true);


 // // 冒泡阶段绑定的事件
 window.addEventListener("click", function(e){
    
     console.log("window 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 document.addEventListener("click", function(e){
    
     console.log("document 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 document.documentElement.addEventListener("click", function(e){
    
     console.log("documentElement 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 document.body.addEventListener("click", function(e){
    
     console.log("body 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 wrapDiv.addEventListener("click", function(e){
    
     console.log("wrapDiv 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 innerP.addEventListener("click", function(e){
    
     console.log("innerP 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

 textSpan.addEventListener("click", function(e){
    
     e.stopPropagation();
     console.log("textSpan 冒泡", e.target.nodeName, e.currentTarget.nodeName);
 }, false);

事件

<div class="pop-window" id="popWindow"></div>
  <input type="button" value="click me" id="noe">
<script>
  var noe= document.getElementById("noe");
  var popWindow = document.getElementById('popWindow');
    window.addEventListener('click',function(event){
    
        var target = event.target;
        popWindow.style.display='none';
        if(target == noe){
    
            popWindow.style.display='block';
         }
    });
</script>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41181778/article/details/104034047

智能推荐

LoadRunner-性能测试_软件性能测试工具,loadrunner自带的飞机订票系统,录制输入账号、密码登录机_hyhrosewind的博客-程序员秘密

文章目录1. HP Loadrunner简介和安装1.1 Loadrunner简介1.2 Loadrunner安装1. HP Loadrunner简介和安装1.1 Loadrunner简介是一款工业级性能测试软件;通过模拟真实用户行为,通过负载,并发和性能实时监控以及完成后的测试报告,分析系统可能存在的瓶颈;Loadrunner支持的脚本语言为C语言。1.2 Loadrunner安装...

/var/lib/docker/devicemapper/devicemapper/data 占用空间很大_一枚二白大学生的博客-程序员秘密

他是用来存储对应的存储池和相关的元数据的。超标原因是因为他是稀疏文件会自己默认占位这件事告诉我们在创建容器时需要修改docker默认存储下面是解决方法:1.使用更大的文件/磁盘/逻辑卷创建data文件:2.通过Docker启动参数的--storage-opt选项来限制每个容器初始化的磁盘大小,如-storage-optdm.basesize=80G这样每个容器启动后...

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息..._小段大帅的博客-程序员秘密

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息 1、java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息。参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.htmlhttps://www.cn...

前端 学习笔记2 标签_前端article 中title标签_Neflibata_mo的博客-程序员秘密

1. HTML语法规范1.1 基本语法概述HTML标签是由尖括号包围的关键词所有的标签都包含在 &lt;&gt; 中,大部分情况下是成对出现的。双标签:&lt;html&gt;&lt;/html&gt;前面的叫开始标签,后面的叫结束标签。(结束标签有 / )单标签:&lt;br /&gt;1.2 标签关系双标签关系可分为:包含关系 并列关系包含关系:&lt;head&gt; &lt;title&gt; &lt;/title&gt;&lt;/head&gt;并

while循环、do while循环for循环(重点)、break终止循环和continue结束本次循环。_qt 结束本次循环_『ZERO DISTANCE』的博客-程序员秘密

循环结构循环必须要有某些固定的内容组成初始化 i=0条件判断 i&lt;10要执行的代码自身改变 iWHILE 循环while`,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了语法 while (条件) { 满足条件就执行 }因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了*// 1. 初始化条件* var num = 0;*// 2. 条件判断*while (num &lt; 10) {

windows ftp工具,2步掌握windows ftp工具的下载和连接方法_weixin_49271180的博客-程序员秘密

FTP工具是基于文件传输协议提供互联网双向传输服务的工具。常用于局域网上传文件下载文件,FTP可以管理多个ftp站点,使用拖拉即可完成文件或文件夹的上传、下载查看、编辑、删除,移动文件等操作。IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Ftp客户端批量操作。下载地址:IIS7服务管理工具windows ftp工具1.IIS7服务管理工具百度iis7服务器管理工具即可下载2.

随便推点

bzoj3376/poj1988[Usaco2004 Open]Cube Stacking 方块游戏 — 带权并查集_usaco 带权并查集__Tham的博客-程序员秘密

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3376题目大意:编号为1到n的n(1≤n≤30000)个方块正放在地上.每个构成一个立方柱.有P(1≤P≤100000)个指令.指令有两种:1.移动(M):将包含X的立方柱移动到包含Y的立方柱上.2.统计(C):统计名含X的立方柱中,在X下方的方块数目.题解:

在已有的k8s中部署rancher_k8s部署rancher_Jeseva的博客-程序员秘密

k8s安装racher接上文安装ingress之后, 需要先安装ingress-nginx, 链接安装需要Helm, 请自行安装Helm.k8s的master节点是: 10.6.14.23第一步: 安装证书vim cert.sh#!/bin/bash -ehelp (){ echo ' ================================================================ ' echo ' --ssl-domain: 生成ssl

小老弟!听说你在搞Android 10.0 适配,看这篇就妥了!_码农突围的博客-程序员秘密

点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标转载自公众号:刘望舒,作者:吃猫猫的鱼地址:https://juejin.im/post/5cad5b7ce51d456e5a0728b01. 导读Android Q Beta 1刚出,讲道理国内是不到下半年不用理睬Q的,但是上月末的一封华为要求适配Q的邮件要求我们在5月底之前完成相关适配...

poi 导入Excel 插入数据库_Lin_林的博客-程序员秘密

pom.xml 这是我的版本 &lt;!-- excel组件包 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi-ooxml&lt;/artifactId&gt; &lt;version&gt;3.17&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt..

JavaScript系列之函数执行上下文和闭包(作用域与作用域链)_張猴子的博客-程序员秘密

内含词法作用域、变量对象、函数执行上下文、函数执行上下文栈、作用域链的概念和闭包的实质。另外,还通过具体的代码分析函数执行的整个过程。

百度收录企业网站的方法_百度免费企业网络收录_优优蜘蛛池丶的博客-程序员秘密

本文来自:优优蜘蛛池(http://www.zhizhuchi.vip)第一,企业网站应预先规划我们想做一个企业网站在企业网站必须有声有色,之前他们做网络规划。我们认为,企业网站的使命到底是什么?做站点位置。(请参阅“重庆SEO技术博客”网站上面的相关SEO入门知识)。尤其是对于一个新的企业网站,前期的策划是非常重要的。我们绝不能让搜索引擎网站尽快做太仓促。第二,企业网站文章的来源只是一个行业网站,我们真的需要找一些原创文章来填充网站,因为只有这样,当搜索引擎来到我们的网站,会发现我们的新网站,这将

推荐文章

热门文章

相关标签