div嵌套div,父div绑定click事件,点击子div后在父div click事件里怎么判断该点击来自子div?!

god74
  • 34
 <div id='div1' >
    <div id='div2'>
    </div>
</div>

$('#div1').on('click',function(){
    //判断点击是否来自div2
})
回复
阅读 3.6k
4 个回答
✓ 已被采纳

找到实际点击的对象,看是不是 div2 就行。

$('#div1').on('click', function(event) {
  event = event || window.event;
  let target = event.target || event.srcElement; // target 就是实际点击的DOM。
})
RainBow
  • 1k

给你补一个样式和结构

  <style>
    #div1 {
      width: 300px;
      height: 300px;
      border: 1px solid #ccc;
      background-color: pink;
    }

    #div2 {
      width: 100px;
      height: 100px;
      margin: 100px;
      background-color: skyblue;
    }
  </style>
</head>

<body>
  <div id='div1'>div1
    <div id='div2'>div2
    </div>
  </div>
<body>
     document.getElementById('div1').onclick = function (event) {
        var Eventsource = event.target || event.srcElement;
        alert(Eventsource.id)
      }
止醉
  • 770

事件委托,利用冒泡判断事件源对象

$('#div1').on('click',function(e){
    console.log(e.target);
})

可以在控制台打印出来是点击了哪层div
$('#div1').on('click',function(event){

console.log(event.target);

})

宣传栏