Przechwyć zdarzenie przewijania na div
Próbuję przechwycić zdarzenie scroll w Backbone.Marionette.CompositeView, ale bez powodzenia.
Jako ćwiczenie przepisujęhttp://www.atinux.fr/backbone-books/ za pomocą Backbone.Marionette. Jak widzisz, przewijając w dół, pobiera się i wyświetla więcej książek (tj. Nieskończone przewijanie). Nie jestem jednak w stanie przechwycić zdarzenia przewijania w moim widoku.
Oto mój (uproszczony) kod:
<code> LibraryView = Backbone.Marionette.CompositeView.extend({ // properties, initializer, etc. events: { 'scroll': 'loadMoreBooks', 'click': 'loadMoreBooks' }, // some functions loadMoreBooks: function(){ console.log("loadMoreBooks"); } }); </code>
Pełny kod źródłowy można zobaczyć tutaj:https://github.com/davidsulc/backbone.marionette-atinux-books/blob/scroll/assets/javascript/app.js#L86-89
Nie rozumiem jednak, że zdarzenie „kliknięcia” jest uruchamiane poprawnie, ale zdarzenie „przewijania” nie. Co ja robię źle?
Edycja: więc błąd był całkiem prosty w końcu ... przekazywałem "el: #content" do konstruktora widoku, ale zwój został zdefiniowany w CSS na ".library". Więc raz zmieniłem DOM
<code><div id="content"> <div class="library"> </div> </div> </code>
do
<code><div id="content" class="library"></div> </code>
wszystko działało poprawnie ...