0

我正在开发一个 DOM 检查器书签。我需要用户能够点击页面中的任何内容,因此我必须使用通用选择器 (*) 来附加点击事件。但是,当通过此选择器单击一个项目时,我会返回所选项目以及每个父项。我如何只获得选定的项目以便我可以使用它?

$(document).on("click", "*", function() {
    alert(this);
});
4

2 回答 2

4
$(document).on("click", "*", function(event) {
    event.stopPropagation();
});

jQuery 文档: http ://api.jquery.com/event.stopPropagation/

于 2013-04-11T13:53:15.750 回答
2

“我需要用户能够点击页面中的任何内容,因此我必须使用通用选择器 (*) 来附加点击事件。”

您不需要通用选择器,实际上您根本不需要第二个参数来指定选择器。当文档接收到点击事件时,它可以使用event.target属性确定事件从哪个元素开始:

$(document).on("click", function(event) {
    // event.target is the element you care about
    alert(event.target.id);  // or whatever
    ...

});
于 2013-04-11T13:57:01.527 回答