JS-JQ-事件冒泡

一、冒泡的原理:

  子元素会触发父元素的事件

  自上而下的触发事件

二、解决方法:

  JS:

     IE:event.cancelBubble=true  

     FF:event.stopPropagation()

  JQ:

      ev.stopPropagation()

 

 

!!! - CSS

<style>
  .div1{width:800px;height:500px;padding:100px;box-sizing: border-box;background:rosybrown;}
  .div2{width:500px;height:200px;background:#269ABC;}
</style>

 

!!! - HTML

<div class="div1">
  <div class="div2"></div>
</div>

 

!!! - JavaScript

window.οnlοad=function()
{
  var div1=document.getElementsByClassName('div1')[0];
  var div2=document.getElementsByClassName('div2')[0];
  div1.οnclick=function()
  {
    alert('我是DIV1');
  }
  div2.οnclick=function(ev)
  {
    var oEvent=ev||event;
    if(ev.cancelBubble)
    {
      oEvent.cancelBubble=true;
    }
    else
    {
      oEvent.stopPropagation();
    }
    alert('我是DIV2');
  }
}

 

!!! - JQuery

$(function(){
  $('.div1').click(function(){
    alert('我是DIV1');
  });
  $('.div2').click(function(ev){
    alert('我是DIV2');
    ev.stopPropagation();
  });
})

转载于:https://www.cnblogs.com/xiaoyangtian/p/7922118.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值