JS冒泡响应

由表及里,对象逐层响应【冒泡】——JS总结
HTML文本:
  <html>
  <head>
     //JS、CSS的引用(略)	
  </head>
  <body>	
      <div id="box">
          <input type="button" name="btn" value="提交" />
      </div>	
  <body/>
  </html>

从上层到最底层,对象逐层响应【冒泡】

window.onload = function () {
    document.onclick = function () {
        alert('第五层,也即最底层——document');
    };

    document.documentElement.onclick = function () {
        alert('第四层,也即倒数第二层——html');
    };

    document.body.onclick = function () {
        alert('第三层——body');
    };

    document.getElementById('box').onclick = function () {
        alert('第二层——div');
    };

    document.getElementsByTagName('input')[0].onclick = function () {
        alert('第一层,也即最表层——input');
    };

    //停止冒泡,(示例:在input层阻止冒泡)
    //document.getElementsByTagName('input')[0].onclick = function (evt) {
        //alert('最表层——input');
        //var e = evt || window.event;
        //取消冒泡
        //方法(1)	e.stopPropagation();	//W3C取消冒泡
        //方法(2)       e.cancelBubble = true;	//IE取消冒泡
    //};

}
如上程序,未注释部分的代码,运行结果会弹5次框,因为其逐层响应事件的触发。
对于标签的逐层响应事件,不需要用的时候,需要将其阻止。



评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值