jQuery中的事件冒泡及其处理办法

来源:互联网 发布:诺基亚软件下载塞班 编辑:程序博客网 时间:2024/04/28 10:09

  在页面上可以有多个事件,也可以多个元素响应同一个事件。

 假设网页上有两个元素,其中一个元素嵌套在另一个元素里面,并且都绑定了同一事件,同时<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()方法即可防止事件冒泡。

0 0
原创粉丝点击