我使用以下代码获取锚链接的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标记?
发布于 2015-01-30 06:40:26
您可以使用a找到.closest()标记。
var currentEditorId = $(e.target).closest('a').attr('id')或者尝试使用this引用,因为事件处理程序中的this将引用事件所针对的元素。
var currentEditorId = this.id但是看起来你在使用像backbone这样的框架,所以我不知道它是否会起作用
发布于 2015-01-30 06:49:06
您可以尝试执行以下操作。但是,就像阿伦说的,你似乎在使用脊骨,所以我不太确定它是否会起作用。
'click a': function(e) {
e.stopPropagation()
var currentEditorId = $(e.target).attr('id')
console.log(currentEditorId)
}https://stackoverflow.com/questions/28230491
复制相似问题