mel*_*yal 34 javascript events backbone.js
我有一个Backbone View,它使用iScroll来实现幻灯片放映.
iScroll发布一个onScrollEnd事件,但我似乎无法在View中绑定/订阅它:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
Dmi*_* G. 25
它可能并不明显,但eventbackbone.js视图中的属性仅用于DOM事件.自定义事件应该像James Brown上面提到的那样受到约束.
Bar*_*art 24
你的onScrollEnd事件绑定到视图的top元素; 当视图的HTML元素收到onScrollEnd事件时,将调用scrollEnd.
但是您在View对象上触发onScrollend事件,而不是元素.
所以你可能想说$(self.el).trigger('onScrollEnd');,或者直接调用函数:self.scrollEnd().
Jam*_*own 18
您应该直接或在init中调用该函数,添加:
self.bind('onScrollEnd', self.scrollEnd);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38289 次 |
| 最近记录: |