jQuery-仅针对顶层的fire事件



所以假设我有一个div和img。我还为div和img添加了点击事件。当我点击img时,我只想激发img的点击事件。

我可以用e.stopPropagation()做一些事情,但在实际环境中,我必须为几乎每个元素附加一个点击事件,所以我可能会在每个元素中添加10个div,等等。所以我只需要在鼠标所在的位置获取元素,没有父母(或孩子)之类的东西。

我怎样才能做到这一点?

谢谢!

编辑:以下是一个示例:http://jsbin.com/uhuto/881/edit

当你点击顶部的框(两个框彼此相对),同时有"shield"div时,你如何获得你点击的下的确切元素?

您可以使用e.target来了解实际点击的元素-

$('div').on('click',function(e){
  var clickedElement = e.target;
});

尝试使用事件对象,如:

$('#whatever').click(function(event){
  var ev = event || window.event;
  if(ev.target === this){
    //do your thing here
  }
});

最新更新