javascript - 如何使 e.target 的 HTML 标签不可点击?

标签 javascript jquery html

我使用以下代码来获取 anchor 链接的 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 标记( anchor 标记分布在它们上方)时,就会出现问题。

如何才能使 e.target 只捕获 anchor 标记而不捕获内部的 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/

相关文章:

javascript - 节点集上的递归回调

javascript - 在 JavaScript 中将变量等同于 "this"

javascript - 在回调函数中可观察 - Angular 2

javascript - 协议(protocol) JSON (PSON) 与 Protocol Buffer

jQuery 重新加载 div 的内容(动态渲染)

html - 导航栏顶部的 Bootstrap 警报

javascript - 表单操作来切换功能?

javascript - Uikit slider javascript初始化

javascript - 如何使用 WebGL 着色器切割对象?

javascript - Ajax 具有多个 url feed