我有一个使用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()
。