我想捕获Backbone.Marionette.CompositeView中的滚动事件,但没有成功。div上的捕获滚动事件
作为练习,我正在使用Backbone.Marionette重写http://www.atinux.fr/backbone-books/。正如您所看到的,当您向下滚动时,会获取并显示更多书籍(即无限滚动)。但是,我无法捕捉到我的视图上的滚动事件。
这是我(简化)代码:
LibraryView = Backbone.Marionette.CompositeView.extend({
// properties, initializer, etc.
events: {
'scroll': 'loadMoreBooks',
'click': 'loadMoreBooks'
},
// some functions
loadMoreBooks: function(){
console.log("loadMoreBooks");
}
});
完整的源代码可以在这里看到:https://github.com/davidsulc/backbone.marionette-atinux-books/blob/scroll/assets/javascript/app.js#L86-89
我不明白的是,“点击”事件被正确触发,但“滚动”事件不是。我究竟做错了什么?
编辑:这样的错误是在年底很简单......我是路过“EL:#内容”到视图的构造器,但滚动在CSS定义的“.library”。所以一旦我改变了我的DOM从
<div id="content">
<div class="library">
</div>
</div>
到
<div id="content" class="library"></div>
一切工作正常...
您的答案帮助我解决了这个问题,谢谢。 (看我的编辑。) – 2012-04-23 17:10:57