冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。
html部分
<div class="outer"> 外层 <div class="content"> 内层 </div> </div>jQuery部分
<script type="text/javascript"> $(function () { // 为content元素绑定click事件 $('.content').bind("click", function () { alert("内层被单机"); }); // 为outer元素绑定click事件 $('.outer').bind("click", function () { alert("外层被单机"); }); }) </script>运行后,我们会发现,点击内层,会触发内层和外层的单机时间,那么我们怎么去处理呢?
修改如下:
方法1:
<script type="text/javascript"> $(function () { // 为content元素绑定click事件 $('.content').bind("click", function (event) { alert("内层被单机"); event.stopPropagation(); //阻止事件冒泡 }); // 为outer元素绑定click事件 $('.outer').bind("click", function () { alert("外层被单机"); }); }) </script>方法2: <script type="text/javascript"> $(function () { // 为content元素绑定click事件 $('.content').bind("click", function () { alert("内层被单机"); return false; }); // 为outer元素绑定click事件 $('.outer').bind("click", function () { alert("外层被单机"); }); }) </script>
附:
event.preventDefault(); //阻止默认行为 ( 表单提交 )