0

单击带有图标字体(如 Icon)的按钮时,不会触发我的 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>

您知道为什么这些事件会在单击按钮的边框、填充和可用空间时触发,但在单击图标(有时在文本上)时不会触发?

谢谢!

4

3 回答 3

3

对我有用的解决方案(感谢@nekaab!):

将 el.target 更改为 el.currentTarget,因此导航功能将如下所示:

navigate: function (el)
{        
    Backbone.history.navigate($(el.currentTarget).attr('href'), true);
    return false;
}

希望这会有所帮助:) - 再次感谢您的所有回答!

于 2013-08-28T13:23:33.693 回答
1

关于什么:

events: {
    'click a, click a i': 'navigate'
}
于 2013-08-28T12:48:30.143 回答
0

try this one

events: {
    'click .btn': 'navigate'
},
于 2013-08-28T12:05:27.123 回答