如何只获取JQuery中单击的元素

Eya*_*rra 4 jquery

如何只获取JQuery中单击的元素

假设如下

<html>
  <body>
    <div>
      <h1>headding</h1>
    </div>
    <a>link</a>
  </body>
</html>

$("*").click(function(e){
   e.preventDefault();
   alert($(this)[0].tagName);
});
Run Code Online (Sandbox Code Playgroud)

我需要点击h1警报节目h1 ,点击a警报节目a等.

问题是当我点击任何元素时,代码循环显示被点击元素的所有父元素的名称.但我只需要第一个点击元素.任何帮助

ᾠῗᵲ*_*ᵲᄐᶌ 9

使用stopPropagation()使事件不会冒泡

$("*").click(function(e){
   e.preventDefault();
   e.stopPropagation();
   alert($(this)[0].tagName);
});
Run Code Online (Sandbox Code Playgroud)

小提琴


kar*_*ikr 4

最后需要一个return false来防止冒泡。

$("*").click(function (e) {
    e.preventDefault();
    alert($(this)[0].tagName);
    return false;
});
Run Code Online (Sandbox Code Playgroud)

检查这个小提琴

  • 需要是一个非常强烈的词,因此很少是正确的。`stopPropagation` 函数可以实现同样的效果,所以你肯定不需要* `return false`。 (3认同)