扫码关注官方订阅号
我要只想给一个元素添加事件,但是不想影响子级元素
业精于勤,荒于嬉;行成于思,毁于随。
那么就精确地控制元素选择符,对其加事件。比如用jquery:
jquery
javascript$('#element-id').on('click', function() { //... }
javascript
$('#element-id').on('click', function() { //... }
或者原生JavaScript:
JavaScript
javascriptvar el = document.getElementById('element-d'); el.onclick = function() { //... }
var el = document.getElementById('element-d'); el.onclick = function() { //... }
当然了,ID并不是唯一的选择符,你可以用任何选择符,只要保证选择到的元素是你想要的那个元素即可。
ID
我大胆的猜想下, 你是不是往父元素上绑定,点击子元素发现也有这个事件? 这个是因为事件的冒泡原因~ 嗯要是不是我这种猜想,忽略我哈~~
http://stackoverflow.com/questions/1369035/how-do-i-prevent-a-parents-...
防止子元素事件冒泡到父元素就行,也就是说在子元素里添加事件,并且用stopPropagation
一个事件的传递过程包含三个阶段,分别称为:
捕获阶段,目标阶段,冒泡阶段 addEventListener 第三个参数,true表示在元素事件的捕获阶段响应事件,false表示在事件的冒泡阶段响应事件,而且event.stopPropagation可以阻止事件冒泡哦!!
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
那么就精确地控制元素选择符,对其加事件。比如用
jquery:或者原生
JavaScript:当然了,
ID并不是唯一的选择符,你可以用任何选择符,只要保证选择到的元素是你想要的那个元素即可。我大胆的猜想下,
你是不是往父元素上绑定,点击子元素发现也有这个事件?
这个是因为事件的冒泡原因~
嗯要是不是我这种猜想,忽略我哈~~
http://stackoverflow.com/questions/1369035/how-do-i-prevent-a-parents-...
防止子元素事件冒泡到父元素就行,也就是说在子元素里添加事件,并且用stopPropagation
一个事件的传递过程包含三个阶段,分别称为:
捕获阶段,目标阶段,冒泡阶段
addEventListener 第三个参数,true表示在元素事件的捕获阶段响应事件,false表示在事件的冒泡阶段响应事件,而且event.stopPropagation可以阻止事件冒泡哦!!