点击父div, 触发子div
来源:互联网 发布:如何避免网络陷阱 编辑:程序博客网 时间:2024/06/07 07:28
statckOverFlow
翻译
导致整个原因是, javascript的一个特性,被叫做事件冒泡. 默认情况下, 你的事件会冒泡到DOM上.
当点击子节点的时候, 你将会自动触发父节点(祖先节点)的一个click事件.
默认情况下, 当点击一个元素, 冒泡的发生是从内到外的, 这以为着第一个子元素的点击事件将会触发,然后父元素也被触发, 祖先元素等等
你能够解决这个问题, 靠添加一个二次点击处理程序到你的子元素上, 并且告诉浏览器去停止传播跨浏览器兼容方式的冒泡, 例如:
<script language="javascript"> function parentHandler(e) { alert('parent clicked'); }; function childHandler(e) { if (!e) var e = window.event; e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); alert('child clicked'); }; </script>
<div id="parent" onclick="parentHandler(event);"> Foo <div id="child" onclick="childHandler(event)"> Bar </div></div>
0 0
- 点击父div, 触发子div
- div嵌套div ,点击子级div不触发父级div点击事件
- 解决 父层div和子层div点击事件冲突 (冒泡触发的小方法)
- outclick 点击div外部触发事件
- 点击div区域之外,触发事件
- 更改select样式,点击div触发select
- 子div 遮盖 父div
- DIV 包括另外一个DIV 点击里面的DIV不能触发外面的DIV事件
- 两个重叠的div,点击内div而不触发外div的点击事件
- IE点击子div,父div不获取焦点问题的解决办法(一)
- IE点击子div,父div不获取焦点问题的解决办法(二)
- JQuery实现点击div里面的元素能触发点击事件,但是不触发外面的div的点击事件
- JQuery实现(阻止事件冒泡,不触发父级标签点击事件)点击div里面的a的能触发点击事件,但是不触发外面的div的点击事件
- 多个div对应同一个点击事件时,确定触发点击事件的div的方法
- 子div的margin影响父div
- 子div在父div中置底
- 子div不能撑开父div
- 父DIV padding和子DIV margin
- Java List去重的两种方法
- ICMP协议详解
- linux网络编程--keepalive
- 堆栈和队列
- hdu1520(poj2342)(树形dp)
- 点击父div, 触发子div
- 【poj 2492】A Bug's Life 题意&题解&代码(C++)
- 正则表达式写法?
- Foreach与可变参数
- 小学生计算能力
- plsql配置远程连接(远程的数据库)
- [poj 2492 ] A Bug's Life 并查集应用
- android学习笔记--创建自定义控件
- 第6周项目3—IP地址类