所以假设我有一个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
}
});