Sto usando jquery mobile per costruire un sito ma quando clicco su un pulsante e questo pulsante punta a una pagina di dialogo, nell'URL appare #&ui-state=dialog
. Se inserisco l'<a data-ajax="false"></a>
l'url è corretto senza #&ui-state=dialog
ma la finestra di dialogo non viene visualizzata correttamente perché ovviamente ajax è disabilitato. C'è qualche modo per risolverlo?correggere l'url usando jquery mobile
risposta
Quando si apre la finestra di dialogo, utilizzare $.mobile.changePage()
e impostare l'opzione changeHash
-false
: http://jquerymobile.com/demos/1.0.1/docs/api/methods.html
//delegate the event binding so elements in the DOM now and in the future will be bound-to
$(document).delegate('#my-dialog-button', 'click', function() {
//change to the dialog, forcing the hash to remain the same and the page to be viewed as a dialog
$.mobile.changePage($('#my-dialog'), {
changeHash : false,
role : 'dialog'
});
});
Non so perché, ma Jasper esempio non funziona quando provo integrandolo troppo.
Stavo usando gli attributi data-*
sul pulsante per la configurazione della finestra di dialogo.
Ora dichiaro tutte le opzioni nella funzione changePage
e funziona correttamente.
<a href="#" data-role="button" id="#my-dialog-button"></a>
$("#my-dialog-button").click(function() {
$.mobile.changePage("page_containing_the_dialog.html", {
type: "get",
transition: 'pop',
role: 'dialog',
changeHash : false
});
});
Cercare di utilizzare i dati-history = "false" nel tag div popup come:
<div data-history="false" data-role="popup" id="options-list-div" data-theme="b" data-overlay-theme="b">
Buona fortuna! :-)
lo aggiusta per me :) Grazie – Roshdy
Benvenuto, felice di aiutarti :-) –
Per me non funziona .. Se aggiungo data-history = "false" non aggiunge la finestra di dialogo # & ui-state = ma va comunque torna alla prima pagina e non si sposta alla successiva esattamente come prima (dopo un po 'dovrebbe spostarsi su una nuova pagina).E se aggiungo il "changeHash" all'interno della funzione changePage non succede nulla .. – ayasha
L'utilizzo di changeHash
disabilita la modifica della cronologia perché l'URL non verrà modificato. Quindi, se l'utente fa clic/tocca il pulsante di chiusura, si propagherà alla pagina precedente se ce n'era.
Inoltre esso potrebbe causare un problema quando l'utente tocca il pulsante indietro sul cellulare in quanto non v'è stato alcun cambiamento storico in cui è stato aperto il popup, sarebbe ancora una volta portare l'utente torna alla pagina precedente, piuttosto che chiudere il pop-up , che sarebbe un comportamento scorretto.
Invece di changeHash
se usiamo transition
che avrebbe funzionato come una finestra e lasciare che l'hash cambiare la storia troppo.
@Vincentp hai provato a rimuovere la proprietà changeHash
dalla chiamata 'changePage', ora che stai usando transition
?
$("#my-dialog-button").click(function() {
var default_transition = "pop";
$.mobile.changePage("page_containing_the_dialog.html", {
role : 'dialog',
transition: $(this).data('transition') || default_transition
});
return false;
});
- 1. Correggere i numeri in virgola mobile
- 2. jquery-mobile "mobile first"
- 3. JQuery-Mobile
- 4. Angular.js con jQuery Mobile
- 5. Intestazione fissa jQuery Mobile
- 6. Sicurezza jQuery Mobile + Phoneonap
- 7. Mixing JQuery Mobile & JQuery UI
- 8. jQuery Mobile vs regolare jQuery
- 9. jquery dorsale mobile backbone
- 10. Funzione JQuery Mobile Pageshow
- 11. jQuery Mobile CSS3 Transizioni di pagina senza jQuery Mobile Library
- 12. Inizializzazione esplicita di Jquery Mobile?
- 13. Override Jquery Mobile CSS
- 14. Jquery-Mobile: convalida
- 15. Usa jQuery mobile offline
- 16. Bootstrap o jQuery Mobile
- 17. altezza pagina jQuery mobile
- 18. Chiusura jQuery Mobile Panel
- 19. JQuery Mobile Contenuto pieghevole
- 20. jquery mobile personalizzato css?
- 21. Jquery Mobile Strange Behaviour
- 22. JQuery Mobile ajaxEnabled + asp.net form postbackurl = problemi
- 23. Jquery Mobile - Cambio gruppo radio
- 24. jQuery Mobile e invio moduli
- 25. Interrompi evento jQuery Mobile swipe double bubbling
- 26. jQuery Mobile 301 Problemi di reindirizzamento
- 27. jQuery Mobile aggiunge automaticamente & nbsp
- 28. Jquery mobile - ordine eventi pagina
- 29. Come velocizzare jquery mobile/phonegap?
- 30. jQuery e compatibilità browser mobile?
bene le opere di funzione, ma in questo modo la pagina viene mostrato solo come una pagina e non più come una finestra di dialogo come se l'Ajax è stata disabilitata –
Ecco una demo: http://jsfiddle.net/qzzW5/. La pagina si apre come una finestra di dialogo in ogni browser che ho testato. – Jasper
Ho provato il mio esempio nel jsfiddle e funziona correttamente. Ma nella mia pagina non funziona. Forse potrebbe essere perché ho usato in una pagina in precedenza per pubblicare un modulo data-ajax = "falso"? –