单击带有图标字体的按钮(如图标)时,我的Backbone点击事件不会触发。
一个视图,例如看起来像这样:
var NetworkStatusView = Backbone.View.extend({
template: _.template(Helper.view('network/status')),
events: {
'click a': 'navigate'
},
navigate: function (el)
{
Backbone.history.navigate($(el.target).attr('href'), true);
return false;
},
render: function ()
{
this.$el.html(this.template(userlocation.toJSON()));
return this;
}
});
在模板中,“按钮”看起来像这样(是的,它是引导程序;)):
<a href="/link" class="btn"><i class="icon-info-sign"></i> Über</a>
您是否知道为什么在单击按钮的边框,填充和可用空间时会触发这些事件,但在单击图标时(有时在文本上)不会触发?
谢谢!
答案 0 :(得分:3)
解决方案(感谢@nekaab!)对我有用:
将el.target更改为el.currentTarget,因此导航功能将如下所示:
navigate: function (el)
{
Backbone.history.navigate($(el.currentTarget).attr('href'), true);
return false;
}
希望这会有所帮助:) - 再次感谢你所有的回答!
答案 1 :(得分:1)
怎么样:
events: {
'click a, click a i': 'navigate'
}
答案 2 :(得分:0)
尝试这个
events: {
'click .btn': 'navigate'
},