我正在从头开始使用Web应用程序,而我正在使用Backbone。所以开始我试图让我的整个应用程序与一个视图相关联,将一些锚点(带有内部链接)绑定到一个获取href的click事件并导航到那个,如下所示:
var App = new ( Backbone.View.extend( {
...
events : {
'click a[data-internal]' : function( event ) {
event.preventDefault();
Backbone.history.navigate( event.target.pathname, { trigger : true } );
}
},
start : function() {
Backbone.history.start( { pushState : true } );
}
}))({ el : document.body });
$( function() { App.start(); });
然后我有以下html:
<li>
<a href="/messages" data-internal="true"><img src="assets/img/mail.png" alt="Mensagens" title="Mensagens"></a>
</li>
我的问题是,当事件被触发时,event.target始终与img子节点关联,而不是与锚点关联。它似乎不是冒泡的东西。我已经尝试过使用e.stopPropagation()。没有内在的img它运作良好。
我不明白为什么会这样。有人可以向我解释一下吗?
非常感谢;)
编辑: 我使用event.currentTarget作为ho.s建议解决了这个问题。