jquery的冒泡事件

简介: DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
<!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 type="text/javascript" src="../js/jquery.js" ></script>
<script>
    $(function(){
            $("#content span").bind("click",function(){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
            })
            $("#content").bind("click",function(){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
            })
            $("body").bind("click",function(){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
            })
    })
</script>
</head>

<body>
    <div id="content">
        <span>我来触发冒泡</span>
    </div>
    <div id="msg"></div>
</body>
</html>

上面的代码中当你单击span标签的时候就会触发#content和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 type="text/javascript" src="../js/jquery.js" ></script>
<script>
    $(function(){
            $("#content span").bind("click",function(event){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
                event.stopPropagation();
            })
            $("#content").bind("click",function(){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
            })
            $("body").bind("click",function(){
                var txt=$("#msg").html()+"冒泡事件";
                $("#msg").html(txt);    
            })
    })
</script>
</head>

<body>
    <div id="content">
        <span>我来触发冒泡</span>
    </div>
    <div id="msg"></div>
</body>
</html>

 在阻止默认的事件是可以使用

event.preventDefault() ;或者

return false;或者

event.stopPropagation();

目录
相关文章
N..
|
5月前
|
JavaScript 前端开发
jQuery事件处理
jQuery事件处理
N..
42 1
|
5月前
|
JavaScript 前端开发 索引
JQuery样式操作、click事件以及索引值-选项卡应用示例
JQuery样式操作、click事件以及索引值-选项卡应用示例
55 1
|
5月前
|
JavaScript
jquery动画与事件案例
jquery动画与事件案例
|
4月前
|
JavaScript 前端开发
jQuery 事件
jQuery 事件
29 1
|
9天前
|
JavaScript 前端开发 CDN
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
本文是关于jQuery的学习笔记,涵盖了jQuery的简介、语法、选择器、事件处理以及hide()、show()、toggle()等方法的使用。
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
|
18天前
|
JavaScript
jQuery 事件
jQuery 事件
34 10
|
23天前
|
JavaScript
jQuery 事件 方法
jQuery 事件 方法
29 3
|
7天前
|
JavaScript
jQuery 事件 方法
jQuery 事件 方法
10 0
|
2月前
|
Web App开发 JavaScript Android开发
重载jquery on方法实现click事件在移动端的快速响应
重载jquery on方法实现click事件在移动端的快速响应
|
4月前
|
JavaScript 前端开发 开发者
jQuery中的ready()函数:优雅地处理页面加载事件
jQuery中的ready()函数:优雅地处理页面加载事件