首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使e.target的HTML标记不过时?

如何使e.target的HTML标记不过时?
EN

Stack Overflow用户
提问于 2015-01-30 06:37:59
回答 2查看 41关注 0票数 0

我使用以下代码获取锚链接的ID:

HTML:

代码语言:javascript
复制
<a id="{{_id}}" class="clearfix" href="#">
  <img src="/avatar.png"/>
  <div>{{username}}</div>
</a>

JS:

代码语言:javascript
复制
 'click a': function(e) {
    var currentEditorId = $(e.target).attr('id')

    console.log(currentEditorId)
  }

它可以正常工作。当我直接单击imgdiv标记(锚标记在它们上方)时,问题就出现了。

如何才能使e.target只捕获锚标记,而不捕获内部的HTML标记?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-30 06:40:26

您可以使用a找到.closest()标记。

代码语言:javascript
复制
var currentEditorId = $(e.target).closest('a').attr('id')

或者尝试使用this引用,因为事件处理程序中的this将引用事件所针对的元素。

代码语言:javascript
复制
var currentEditorId = this.id

但是看起来你在使用像backbone这样的框架,所以我不知道它是否会起作用

票数 2
EN

Stack Overflow用户

发布于 2015-01-30 06:49:06

您可以尝试执行以下操作。但是,就像阿伦说的,你似乎在使用脊骨,所以我不太确定它是否会起作用。

代码语言:javascript
复制
'click a': function(e) {
    e.stopPropagation()
    var currentEditorId = $(e.target).attr('id')
    console.log(currentEditorId)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28230491

复制
相关文章

相似问题

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