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

 <div id='div1' >
    <div id='div2'>
    </div>
</div>

$('#div1').on('click',function(){
    //判断点击是否来自div2
})
阅读 5.4k
4 个回答

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

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

给你补一个样式和结构

  <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)
      }

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

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

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

console.log(event.target);

})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题