我想捕獲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