代码之家  ›  专栏  ›  技术社区  ›  wyc

如何使e.target的HTML标记不可点击?

  •  0
  • wyc  · 技术社区  · 11 年前

    我使用以下代码获取锚链接的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)
      }
    

    工作正常。当我单击 img div 直接标记(锚标记在它们上方展开)。

    我怎样才能做到这一点 e.target 只捕获锚标记而不捕获里面的HTML标记?

    2 回复  |  直到 11 年前
        1
  •  2
  •   Arun P Johny    11 年前

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

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

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

    var currentEditorId = this.id
    

    但看起来你在使用某种框架 backbone 所以我不知道它是否有效

        2
  •  1
  •   Chirag Mongia    11 年前

    您可以尝试执行以下操作。但是,正如Arun所说,你似乎在使用Backbone,所以我不太确定它是否会起作用。

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