Mogę tylko powiązać pagebeforechange z całym dokumentem mobilnym jquery, a nie z pojedynczą stroną. Czy ktoś może wyjaśnić, dlaczego this nie działa?jQuery Mobile - nie można powiązać pagebeforechange z identyfikatorem strony?
Odpowiedz
Mam dokładnie ten sam problem, ale przynajmniej mam dla ciebie rozwiązanie. Ostrzeżenie: to jest głupi, okropny kod. Ale wykonuje to zadanie.
window.doubleLoadPreventer = 0;
$(document).bind('pagebeforechange', function(e, data){
if (window.doubleLoadPreventer === 1) {
window.doubleLoadPreventer = 0;
return;
} else {
window.doubleLoadPreventer = 1;
}
//your normal event handler code here
}
Nie strzela wcale, ale nie dwa razy. –
z jQuery Mobile - Jestem całkiem pewny, że nie wiążą się z dokumentem, ale do nieruchomości pageinit.
Powiązanie z dokumentem spowodowałoby problemy ... pamiętaj, aby ten link działał ponownie w #home, będziesz potrzebował innego detektora zdarzeń dla beforepageshow lub tego, co przed powrotem do tej strony.
This doc jest bardzo pomocny ...
Selector stron JQM:
$('.ui-page')
Dodanie detektora zdarzeń do wszystkich stron w dokumencie mogą być wykonane jako:
$(document).delegate(".ui-page","pagebeforehide", function(evt, ui){
alert('pagebeforehide fired');
}
Fiddle using delegate:
Notatka przy użyciu bind zamiast delegat NIE będzie działać dla wyżej wymienionego selektora, ponieważ klasa stronicowania jest dodawana tylko podczas tworzenia strony.
In-Aby korzystać wiążą, należy użyć następującego selektora:
$("div[data-role='page']")
i dodać detektor zdarzeń przy użyciu (tylko po dokument jest gotowy lub organ załadowany):
$("div[data-role='page']").bind("pagebeforehide", function(evt, ui{
alert('pagebeforehide fired');
}
Fiddle using bind:
Polecam również używanie mo Wydarzenie bileinit raczej gotowy dokument!
Od wersji jQuery Mobile 1.1.0 rozwiązanie z bindem działa na "pagebeforeshow", ale nie na "pagebeforechange". Nie rozumiem tego. –
proszę podać kod tego, co próbujesz zrobić, –
-1. Przeczytaj uważnie pytanie - Pytano o zdarzenie "pagebeforechange", a nie "pagebeforehide". Żadne z twoich przykładów nie działa z "pagebeforechange". –
$("div[data-role='page']").live("pagebeforehide", function(event) {
alert('This alert should trigger before Next Page Here is shown?');
});
(sprawdź link szczegóły) można również użyć zamiast wiążą żywo, Mam nadzieję, że pomogło.
- 1. jQuery Mobile „pagebeforechange” miano dwukrotnie
- 2. Nie można zmienić koloru tła jQuery Mobile?
- 3. Element iFrame nie ładuje się podczas ładowania strony (jQuery Mobile)
- 4. JQuery Mobile usuwa przesuwanie strony slajdu
- 5. Nawigacja strony jQuery Mobile vs AngularJs
- 6. jQuery Mobile - Zrób coś na ładowanie strony
- 7. Niepoprawna wysokość strony w jQuery Mobile
- 8. jQuery Mobile NavBar z przyciskiem Wstecz poprzedniej strony
- 9. Zmiana rozmiaru strony Jquery Mobile podczas zmiany strony
- 10. jquery mobile popup nie działa?
- 11. Jak radzić sobie z błędami zmiany strony w jQuery Mobile
- 12. jQuery scrollTop, przewijanie do div z identyfikatorem?
- 13. jQuery Mobile nie działa podrzędny javascript
- 14. Nie można znaleźć kontrolki z identyfikatorem dla wyzwalacza w UpdatePanel
- 15. jQuery Mobile ajaxEnabled nie działa?
- 16. jQuery .clone .insertAfter z nowym identyfikatorem
- 17. Nie można powiązać zdarzeń wideo za pomocą Jquery
- 18. Nie można uzyskać wyskakującego okienka do pracy w jQuery Mobile
- 19. Zamykanie jQuery Mobile nowe wyskakujące strony powodują odświeżanie bezużytecznie
- 20. Wielojęzyczne aplikacje z jQuery Mobile
- 21. Jquery mobile, usuń poprzednią stronę
- 22. jQuery Detect dołu strony na Mobile Safari/iOS
- 23. Jak wyłączyć Ajax w jQuery Mobile przed załadowaniem strony?
- 24. Zastępowanie Jquery Mobile CSS
- 25. Migotanie interfejsu użytkownika podczas zmiany strony w jQuery mobile
- 26. JQuery Mobile simpledialog usuwa moje dynamiczne dane ze strony
- 27. Powiązanie adresu IP z identyfikatorem sesji
- 28. Czy można utworzyć element w locie za pomocą jQuery Mobile?
- 29. Aplikacja Jquery Mobile Dziwne zachowanie
- 30. nie można znaleźć prawidłowego profilu obsługi zgodnego z identyfikatorem aplikacji.
Nie uruchamia się, ponieważ strona nie ładuje się ponownie ani nie zmienia. Spójrz na [docs] (http://jquerymobile.com/test/docs/pages/page-dynamic.html). – Blender
+1 za używanie jsfiddle! – Rebecca
Mam ten sam problem - "pagebeforechange" nie działa, gdy jest powiązany bezpośrednio ze stroną, podczas gdy "pagebeforeshow" i "pagebeforecreate" działają poprawnie. –