1

私は次の見解を持っています:

App.HouseListElemView = Backbone.View.extend({
    tagName: 'li',
    events: {
        'click': function() {
            App.detailsRouter.navigate('details/' + this.model.id, true);     
        },
        'click .btn-compare': 'compare',
        'click .btn-compare > input': 'toggleCompare',
    },
   // more stuff here...
 });

リストの最初のクリック イベントは、Safari と Chrome の両方でトリガーされますが、Firefox ではトリガーされません。firefox11.0を使用しています。

自分のイベントを間違って宣言していませんか?

4

1 に答える 1

0

はい、あなたはそれを間違ってやっています。以下を実行すると、動作するはずです

App.HouseListElemView = Backbone.View.extend({
    tagName: 'li',
    events: {
        'click': 'navigateTo',
        'click .btn-compare': 'compare',
        'click .btn-compare > input': 'toggleCompare',
    },
    navigateTo:function() {
            App.detailsRouter.navigate('details/' + this.model.id, true);
        },
   // more stuff here...
 });

ちなみに、クリックイベントはビューのルートにバインドされますel. そのため、選択したようなものを使用してクリックのターゲットを指定してください'click #navigator':'navigateTo'

于 2012-06-26T05:22:54.307 に答える