如何检测冒泡是否遇到某种类型的元素?

时间:2014-12-26 06:22:23

标签: javascript

我有几个div元素,每个元素都有一个画布:

        

我决定用ID向div添加一个监听器。如何检测该div上的点击是否也是点击带有类狗的div?

我试过

document.getElementById('everything').addEventListener('click', function(e) {
  console.debug(e.target);
});

但是console.debug(e.target);只给了我点击的画布。

我可以简单地将一个事件监听器分配给dog div,但我不想这样做,因为我可能在div中有很多子div,并且标记为'everything'。

1 个答案:

答案 0 :(得分:0)

对不起,这是jQuery但试试这个。

并且很难确定#everything是否是.dog的父级,但

案例"#everything"是" .dog"的父母,这应该有用。

$("#everything").on("click",function(e){
  if $(this).closest(".dog").length > 0
    console.log("element covering both #everything and .dog has clicked")
  else
    console.log("#everything has clicked but not .dog")
})
希望这会有所帮助。