Jquery在鼠标单击时选择了太多元素

时间:2014-12-06 02:17:08

标签: javascript jquery html css click

我想获取我点击的元素的ID。如果有ID,它应该只给我ID。

我有这段代码提醒我元素ID:

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

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

我在div中有一个按钮,都有一个id属性。如果我单击按钮,我只需要按钮的ID。但是,我的脚本提醒我按钮ID和div的ID。为什么/我怎样才能获得最重要元素的ID?

3 个答案:

答案 0 :(得分:2)

多数民众赞成是因为当你点击按钮时,你也点击了它的父元素。

在您的函数event.stopPropagation();

中添加此内容

http://api.jquery.com/event.stoppropagation/

答案 1 :(得分:1)

问题是event propagation,因为您要定位所有元素,您可以将处理程序绑定到文档对象,然后检查目标元素是否有id

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

答案 2 :(得分:0)

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

http://jsfiddle.net/asimshahiddIT/unm8qjzf/