0

アイコン フォント (Icon など) のボタンをクリックしても、バックボーンのクリック イベントが発生しません。

たとえば、1 つのビューは次のようになります。

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 に答える