阻止冒泡,默认行为

阻止冒泡:

<style>
        #box {
            width: 200px;
            height: 200px;
           background-color: red;
        }

        #bigbox {
            width: 300px;
            height: 300px;
            background-color:  green;
        }
    </style>
    <div id="bigbox">
        <div id="box">
            <button id="btn">按钮</button>
        </div>
    </div>


    <script>
        var box = document.getElementById('box')
        var btn = document.getElementById('btn')
        btn.onclick = function (e) {

            e = e || window.event
            //阻止事件向上冒泡,stopPropagation方法可以阻止事件冒泡 且遵从w3c规则
            // e.stopPropagation()
            //ie浏览器的阻止事件冒泡    利用了一个属性cancelBubble  设置为true,也兼容但不遵从w3c规范
            //e.cancelBubble = true //取消冒泡
            if (e.stopPropagation) {
                e.stopPropagation()
            } else {
                e.cancelBubble = true
            }
            console.log('btn被点击了');
        }
        box.onclick = function () {
            console.log('box被点击了');
        }
        bigbox.onclick = function () {
            console.log('大box被点击了');
        }
        //在点击div里面的按钮时,会触发div的点击事件 事件冒上去了
        //在触发事件的时候
    </script>

阻止默认行为:

  <a href="http//www.baidu.com"></a>
    //a标签默认会跳转页面
    <script>
        document.getElementsByTagName('a')[0].onclick=function(){
            console.log('a点击了');
            //return false  阻止默认行为 遵从w3c,但ie9之前不兼容
            return false
            //ie兼容写法    其他浏览器也可以用
            e.preventDefault()//阻止默认事件
            //针对低版本浏览器
            e.returnValue=false
        }


    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值