我正在使用以下代码来获取锚点链接的ID:

HTML:

<a id="{{_id}}" class="clearfix" href="#">
  <img src="/avatar.png"/>
  <div>{{username}}</div>
</a>


JS:

 'click a': function(e) {
    var currentEditorId = $(e.target).attr('id')

    console.log(currentEditorId)
  }


可以。当我直接单击imgdiv标记(锚标记分布在它们上方)时,就会出现问题。

如何使e.target仅捕获锚标记而不捕获其中的HTML标记?

最佳答案

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

var currentEditorId = $(e.target).closest('a').attr('id')


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

var currentEditorId = this.id


但是看起来您正在使用类似backbone的某种框架,所以我不知道它是否会起作用

关于javascript - 如何使e.target的HTML标签不可点击?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28230491/

10-13 08:13