我有一个使用iScroll来实现幻灯片显示的主干 View 。

iScroll发布了onScrollEnd事件,但是我似乎无法在View中绑定(bind)/订阅该事件:

App.Views.Scroller = Backbone.View.extend({

    events: {
        'onScrollEnd' : 'scrollEnd'
    },

    initialize: function(){
        var self = this;
        this.scroller = new iScroll('content-scroller', {
            onScrollEnd: function() {
                self.trigger('onScrollEnd');
            }
        });
    },

    scrollEnd: function(e){
        // never called :(
        console.log(e);
    }

});

最佳答案

您的onScrollEnd事件绑定(bind)到 View 的顶部元素;当 View 的HTML元素接收到onScrollEnd事件时,将调用scrollEnd。

但是,您正在触发View对象(而不是元素)上的onScrollend事件。

因此,您可能想说$(self.el).trigger('onScrollEnd');,或者直接调用该函数:self.scrollEnd()

07-24 22:00