JS阻止事件冒泡
2014-01-16 17:57
309 查看
如下测试代码:
JS阻止事件冒泡代码:
jQuery阻止事件冒泡代码:
有时候点击提交按钮会有一些默认事件。比如表单提交(submit)
可通过event.preventDefault();阻止默认行为
PS:很多文章都提到下面代码
照样可以阻止事件冒泡。
对此问题不解... 不知道大家是人云亦云呢,还是我的方法不对
<style type="text/css"> #div{border: 1px solid red;width: 500px;} #p1,#p2{border: 1px solid red;} </style>
<div id="div" onclick="clickDiv()"> 我是外层DIV <p id="p1" onclick="clickP1(event);">我是P1 阻止事件冒泡</p> <p id="p2" onclick="clickP2();">我是P2 未阻止事件冒泡</p> </div>
JS阻止事件冒泡代码:
<script type="text/javascript"> function clickDiv(){ alert("我是外层DIV"); } function clickP1(e){ alert("p1 阻止事件冒泡"); e.stopPropagation(); } function clickP2(){ alert("p2 未 阻止事件冒泡"); } </script>
jQuery阻止事件冒泡代码:
$(function(){ $("#div").click(function(){ alert("我是外层DIV"); }) $("#p1").click(function(event){ alert("p1 阻止"); event.stopPropagation(); }) $("#p2").click(function(){ alert("p2 未阻止"); }) })
有时候点击提交按钮会有一些默认事件。比如表单提交(submit)
可通过event.preventDefault();阻止默认行为
$("input[type='submit']").click(function(event){ //在这里可以加入一些逻辑判断 以决定是否阻止默认行为 event.preventDefault(); })
PS:很多文章都提到下面代码
function stopDefault(e) { //如果提供了事件对象,则这是一个非IE浏览器 if(e && e.preventDefault) { //阻止默认浏览器动作(W3C) e.preventDefault(); } else { //IE中阻止函数器默认动作的方式 window.event.returnValue = false; } return false; }先判断浏览器是否IE浏览器,本人的是IE9 无需判断
照样可以阻止事件冒泡。
对此问题不解... 不知道大家是人云亦云呢,还是我的方法不对
相关文章推荐
- js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
- JS中的事件冒泡(Bubble)和事件捕获(capture)以及如何阻止事件的冒泡
- js 阻止事件冒泡和默认行为 preventDefault、stopPropagation、return false
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js冒泡事件综合 ! 阻止子代冒泡 阻止父级冒泡 阻止同级冒泡
- 阻止js事件冒泡
- js中事件冒泡及阻止冒泡的一小段code
- Js阻止事件冒泡和document.onclick在IE浏览器上无效
- JS阻止事件冒泡的3种方法之间的不同
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- js区分鼠标单双击 阻止事件冒泡
- js阻止冒泡及jquery阻止事件冒泡示例介绍
- JS,Jquery中事件冒泡以及阻止事件冒泡方法
- js阻止冒泡事件和默认事件
- JS阻止事件冒泡
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
- JS事件冒泡的阻止代码
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- JS事件冒泡及阻止冒泡3种方法之间的不同
- JS DOM操作 函数 事件 阻止事件冒泡