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 中不会触发。我正在使用 Firefox 11.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 回答