首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jquery Onclick和对所单击对象的引用

Jquery Onclick和对所单击对象的引用
EN

Stack Overflow用户
提问于 2009-06-25 13:06:08
回答 2查看 20.5K关注 0票数 19

我得到了下面的jQuery表达式,在函数中,我需要一个对被单击对象的引用,有没有办法做到这一点?

代码语言:javascript
复制
$('#tagList li').click(function() {
  /* contents */
});
EN

回答 2

Stack Overflow用户

发布于 2009-06-25 13:08:41

是的,this关键字引用了被单击的DOM元素。你可以像这样“包装”它:

代码语言:javascript
复制
$(this)

这将允许您将其视为jQuery对象。

票数 6
EN

Stack Overflow用户

发布于 2019-06-19 02:52:51

添加一个新的答案,它将涵盖更多的用例,特别是当您想使用箭头函数时。

同时,也建议您不要将JS点击添加到安莉元素。相反,您应该使用嵌套在此元素中的按钮或锚点(可单击的内容)。

由于您单击的元素可能是子元素,因此您需要确保以正确的元素为目标。

在我的示例中,我将把click赋值给li中的一个按钮以及它上的一个类。标记将简单地为:

代码语言:javascript
复制
<ul id="taglist">
  <li><button class="tag-button">Tag 1</button></li>
  <!-- ... -->
</ul>

然后是javascript:

代码语言:javascript
复制
$('#tagList li button.tag-button').click((e) => {
  const thisButton = $(e.target).hasClass('tag-button')
    ? $(e.target) : $(e.target).closest('.tag-button');
  // do something with thisButton
});

这样可以确保您的目标是注册了单击的元素。如果您的按钮内有任何嵌套标记(如或),则事件目标可能是嵌套元素,而不是您想要分配单击的元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1043797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档