美文网首页
2019-01-26

2019-01-26

作者: CtrlAltShift | 来源:发表于2019-01-26 21:17 被阅读0次

    事件冒泡!

    <!DOCTYPE html>

    <html lang="en">

        <meta charset="UTF-8">

        <title>title

            #dv1{

    width:300px;

                height:200px;

                background-color: red;

            }

    #dv2{

    width:250px;

                height:150px;

                background-color: green;

            }

    #dv3{

    width:200px;

                height:100px;

                background-color: blue;

            }

            //事件冒泡:多个元素嵌套,有层次关系,这些元素都注册了相同的事件,如果里面的元素的事件触发了,外面的元素的该事件自动的触发了.

    <div id="dv1">

        <div id="dv2">

            <div id="dv3">

    <script src="common.js">

        //事件冒泡,阻止事件冒泡,

    //如何阻止事件冒泡: window.event.cancelBubble=true; IE特有的,谷歌支持,火狐不支持

    // e.stopPropagation(); 谷歌和火狐支持,

        my$("dv1").onclick=function () {

    console.log(this.id);

        };

        my$("dv2").onclick=function () {

    console.log(this.id);

            //window.event.cancelBubble=true;

        };

        //事件处理参数对象

        my$("dv3").onclick=function (e) {

    console.log(this.id);

            //阻止事件冒泡

    //e.stopPropagation();

            console.log(e);

        };

        //  document.body.onclick=function () {

    //      console.log("哇哈哈喜之郎优乐美");

    //  };

    </html>

    通过本次学习主要掌握了:

    事件冒泡即多个元素有层次的嵌套起来,与荣俱荣,与损俱损的铁关系,这很单调也很乏味,只有利用阻止事件冒泡来破坏它们之间的关系,以此达到精确的事件目的。

    阻止事件冒泡的方法一:window.event.cancelBubble = true; --- IE特有支持(window.event==表示后边的那个对象e),谷歌火狐不支持;

    方法二:e.stopPropagation(); ---谷歌火狐支持,IE8不支持

    相关文章

      网友评论

          本文标题:2019-01-26

          本文链接:https://www.haomeiwen.com/subject/etrwjqtx.html