2014-12-06 42 views
0

我想要获取单击的元素的ID。它应该只给我的ID,如果它有。Jquery在鼠标点击中选择了太多元素

我有这样的代码来提醒我的元素ID:

$("[id]").click(function(event) { 
    event.preventDefault(); 
    var id_name = $(this).attr("id"); 
    alert(id_name); 
}); 

但我只想要最重要的元素的ID。

我有一个div内的按钮,都有一个id-属性。如果我点击按钮,我只想要按钮的ID。但是,我的脚本会提醒我按钮ID和div的ID。为什么那/我怎么才能得到最前面的元素的ID?

回答

1

问题是event propagation,因为你的目标的所有元素可以绑定处理程序对文档对象,然后检查是否有目标元素

$(document).click(function (event) { 
    var id = event.target.id; 
    if (!id) { 
     return; 
    } 
    event.preventDefault(); 
    alert(id); 
});