问答详情
源自:6-2 jQuery事件对象的属性和方法

为什么点击span,时间冒泡只到了content,没有继续到body

 <h3>事件对象的属性与方法</h3>

    <div class="left">

        <div id="content">

            外层div元素

            <br />

            <span style="background: silver;">内层span元素</span>

            <br /> 外层div元素

        </div>

        <br />

        <div id="msg"></div>

    </div>

    <script type="text/javascript">

    //为 <span> 元素绑定 click 事件  

    $("span").click(function() {

        $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");

    });

    //为 Id 为 content 的 <div> 元素绑定 click 事件  

    $("#content").click(function(event) {

        $("#msg").html($("#msg").html() + "<p>外层div元素被单击</p>");

        event.stopPropagation(); //阻止事件冒泡  

    });

    //为 <body> 元素绑定 click 事件  

    $("body").click(function() {

        $("#msg").html($("#msg").html() + "<p>body元素被单击</p>");

    });

    </script>


提问者:iceminit 2016-08-31 16:41

个回答

  • 蓝璇梦幻
    2016-09-29 15:30:21

    点击span,不但触发了span的单击事件,而且还触发了content的单击事件,但是Content的单击事件中组织了事件继续冒泡,所以就没再触发content的祖父辈级对象的事件了。

  • iceminit
    2016-08-31 16:45:03

    我知道了,因为content阻止了时间冒泡