Używam backbone.js (0.5.3) z JQueryMobile (1.0 beta 2). Wiem, że istnieją konflikty routingu Korzystając z tych bibliotek razem, i chciałbym wiedzieć, czy istnieje rozwiązanie, aby z nich korzystać:Trasowanie Backbone.js i jQueryMobile bez hackowania lub innego routera
- bez włamania do kodu źródłowego telefonu jquery jak opisano w doniczkach Ben Nolana: http://bennolan.com/2010/11/23/backbone-and-jquery-mobile.html
- i bez użycia innego routera jak jquerymobile-routera (chyba że nie ma innej opcji ...)
Mój problem jest bardzo podobny do opisanego w tym poście: jquery-mobile backbone.js routing
Kiedy zgłoszę żądanie, kod kręgosłupa render
odpowiedniego widoku szkieletu zostanie wywołany przed całkowitym załadowaniem nowej strony jQuery. Próbuję uczynić mój html wygenerowany kod w elemencie $(".ui-page-active")
DOM kierować stronę, która jest generowana przez jQueryMobile (lub stronę, która jest „włączony”):
MyView = Backbone.View.extend({
el: $(".ui-page-active")
render: function(){
console.log(el)
}
});
Ale atrybut el
jest pusty, gdy Metoda renderowania jest wywoływana, ponieważ komórka jquery nie wyrenderowała jeszcze domeny ...
Dzięki za pomoc!
Aktualizacja
Addy Osmani wydaje się, że odpowiedź na moje pytanie :) ale to będzie dla kolejnej części jego (wielkiej) Samouczek: http://msdn.microsoft.com/en-us/scriptjunkie/hh377172.aspx
na którym wydarzeniu uruchamiasz swoją aplikację? $ ('document'). ready() lub $ (document) .bind ('pageinit')? Próbowałem postępować zgodnie z Twoimi sugestiami, ale napotkasz błędy routera szkieletowego. – fbuchinger
Uwaga: $ (document) .bind ("mobileinit" ... wywołanie musi być wykonane po załadowaniu jquery i PRZED załadowaniem jquery mobile – pws5068