js委托事件-addEventListeners(冒泡方向)
JQuery中live()、delegate()、on()事件都能给新增元素绑定事件,原理就是用了事件委托。
实例:
给id为div的元素绑定一个click委托,如果冒泡上来的元素是P元素就会执行alert("xxx");
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="div"><p>11111</p><p>2222</p>
</div>
<button id="btn">xxxx</button>
<script>document.getElementById("div").addEventListener("click",function(e){if(e.target.nodeName=="P"){alert("xxx")}})document.getElementById("btn").οnclick=function(){var p = document.createElement("p");p.innerHTML="333";document.getElementById("xx").appendChild(p);}
</script>
</body>
</html>
冒泡方式分为2种,一种是由子元素向上冒泡,一种是由父元素向下冒泡
在使用addEventListeners的时候有第三个参数true和flase;默认是flase,由子元素向上冒泡
当我们设置为true的时候就会由父元素向下冒泡
实例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="id1" style="width:200px; height:200px; position:absolute; top:100px; left:100px; background-color:blue; z-index:4"><div id="id2" style="width:100px; height:100px; top:20px; left:70px; background-color:green; "></div>
</div>
<script>document.getElementById("id1").addEventListener('click',function(){console.log("id1");},true)document.getElementById("id2").addEventListener('click',function(){console.log("id2");},true)
</script>
</body>
</html>
js委托事件-addEventListeners(冒泡方向)相关推荐
- JS 哪些事件支持冒泡
- javascript(JS) 0基础快速入门 (七)(事件的冒泡、委托和绑定)
事件的冒泡 所谓冒泡指的就是事件的向上传导 当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发 类似于 给一个盒子绑定了鼠标点击事件,当点击了盒子后,该鼠标点击事件会一直往上触发, 如果这盒子 ...
- JS中的事件委托/事件代理详解
起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...
- js事件委托(事件代理)
起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...
- js原生事件委托写法,jquery事件委托写法
什么是事件委托: 事件委托--给父元素绑定事件,用来监听子元素的冒泡事件,并找到是哪个子元素的事件.(不理解冒泡的可以去百度下) 定义: 利用事件冒泡处理动态元素事件绑定的方法,专业术语叫事件委托. ...
- js事件委托(事件代理)的原理以及优缺点
js事件委托/事件代理的原理以及优缺点 什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上 ...
- JS的事件监听与委托机制
JS的事件监听机制 小故事: 很久以前有个叫Netscape的姑娘,她制订了Javascript的一套事件驱动机制(即事件捕获) 后来又有一个叫"IE"的小子,这孩子比较傲气,他认 ...
- JS的事件对象和事件冒泡
2019独角兽企业重金招聘Python工程师标准>>> 1.事件对象 js的事件对象中保存了当前被触发事件的一些相关的属性信息,如事件源.事件发生时的鼠标位置.事件按键等. 事件对象 ...
- js,jq.事件代理(事件委托)复习。
<ul id = "lists"> <li>列表1</li> <li>列表2</li> <li>列表3< ...
最新文章
- 一机玩转docker之十:创建及使用ssh镜像
- okhttp连接池_OkHttp配置HTTPS访问+服务器部署
- kubernetes学习笔记之七:Ingress-nginx部署使用
- linux mp4box安装,mp4box安装备忘
- azure夜校培训第6场 3月22日 18:00---MYSQL
- 配置Linux之间SSH互信连接
- Linux服务器运行环境搭建(四)——Tomcat安装
- 计算机音乐因为我刚好遇见你,因为我刚好遇见你歌曲
- 域名与服务器如何绑定?
- 微信小程序车牌号组件,车牌号键盘,兼容新能源号牌
- C++动态分配new(C++ primer,P320)
- 10G光模块系列:10G 80公里(KM)光模块有哪些-易飞扬
- 安卓自定义View画钟实现转动
- 【Lua从青铜到王者基础篇】第一篇:Lua初始教程和环境安装
- 使用WG-8010 GPRS通讯模块
- 字符串题目:重新排列字符串
- gentoo安装全过程
- d3js 实现水球图
- js生产13位条形码
- Mybatis的插件分页原理
热门文章
- 延长线段ab到c的画法有几种_终于有人把趋势线的正确画法和错误画法讲透彻了,字字精华,原来大多数人都画错了...
- matlab软件介绍_活动回顾 | 您要的MATLAB课堂总结上线啦!
- 怎么查看linux是不是as7u4,Linux下搭建Android开发环境
- mysql为查询结果字段赋默认值
- php的Traits属性以及基本用法
- http_build_query的用法
- SSY and JLBD 题解
- Android移动开发之【Android实战项目】DAY2-使用Fragment实现底部菜单栏
- ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
- python跟php如何共用mysql_Python 3 多个函数共用一个mysql连接