jQuery中的事件冒泡及其处理办法
2016-08-06 18:36
489 查看
在页面上可以有多个事件,也可以多个元素响应同一个事件。
假设网页上有两个元素,其中一个元素嵌套在另一个元素里面,并且都绑定了同一事件,同时<body>上也绑定了该事件,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>事件冒泡测试</title>
<script src="jquery-3.0.0.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$("#one").click(function(){
$("#one").hide();
});
$("#two").click(function(){
$("#two").hide();
});
$("#three").click(function(){
$("#three").hide();
});
});
</script>
</head>
<body id="one">
111 <br />
<div id="two"> 2222 <br />
<span id="three"> 333 </span> </div>
</body>
</html>
运行结果:
此时若单击333则会出现上面的数全部消失的情况,这就是jQuery中的事件冒泡。
该怎么处理呢?
方法一就是加return false。
方法二就是给事件添加参数,如event 然后用参数调用stopPropagation()方法即可防止事件冒泡。
假设网页上有两个元素,其中一个元素嵌套在另一个元素里面,并且都绑定了同一事件,同时<body>上也绑定了该事件,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>事件冒泡测试</title>
<script src="jquery-3.0.0.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$("#one").click(function(){
$("#one").hide();
});
$("#two").click(function(){
$("#two").hide();
});
$("#three").click(function(){
$("#three").hide();
});
});
</script>
</head>
<body id="one">
111 <br />
<div id="two"> 2222 <br />
<span id="three"> 333 </span> </div>
</body>
</html>
运行结果:
此时若单击333则会出现上面的数全部消失的情况,这就是jQuery中的事件冒泡。
该怎么处理呢?
方法一就是加return false。
方法二就是给事件添加参数,如event 然后用参数调用stopPropagation()方法即可防止事件冒泡。
相关文章推荐
- [转]jquery对事件冒泡的处理方法
- JQuery中阻止事件冒泡的两种方式及其区别
- JavaScript和JQuery的鼠标mouse事件冒泡处理
- JQuery中阻止事件冒泡方式及其区别
- JQuery中阻止事件冒泡方式及其区别
- JQuery中阻止事件冒泡方式及其区别
- jQuery中阻止事件冒泡方式及其区别
- jQuery中的事件处理:return false、阻止默认行为、阻止冒泡以及兼容性问题
- jQuery-1.9.1源码分析系列(十) 事件系统——主动触发事件和模拟冒泡处理
- js处理局部scroll事件禁止外部scroll滚动解决办法,jquery.mousewheel.js处理时禁止办法说明
- jQuery中处理事件冒泡的方法和取消后续内容的方法
- JQuery中阻止事件冒泡几种方式及其区别介绍
- jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
- jquery对事件冒泡的处理方法
- JQUERY中的事件处理:RETURN FALSE、阻止默认行为、阻止冒泡以及兼容性问题
- JQuery中阻止事件冒泡方式及其区别
- JQUERY中的事件处理:RETURN FALSE、阻止默认行为、阻止冒泡以及兼容性问题
- JavaScript之jQuery-4 jQuery事件(页面加载后执行、事件处理、事件冒泡、事件对象、模拟操作)
- jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
- JavaScript和JQuery的鼠标mouse事件冒泡处理