La creazione dinamica di pagine jQuery Mobile utilizzando i Modelli di jQuery

Sto costruendo un allenamento catalogo utilizzando jquery mobile per l’interfaccia utente e i modelli di jquery per affrontare con l’html. Sono stato in grado di aggiungere codice html di una pagina già creata E ottenere jquery mobile per modificare il markup grazie alla .pagina() funzione.

Tuttavia, voglio essere in grado di creare nuovi jq mobile pagine. Posso inserire il codice in div data-role=pagina, chiamata .pagina() su di esso e tutto è bene. Ma l’aggiunta di una cucina completamente made pagina per il corpo non funziona.

MODIFICA:
Questa domanda e la mia risposta si riferisce a jquery mobile alpha 3

InformationsquelleAutor Bobby | 2011-02-19



3 Replies
  1. 9

    Ok ho capito. Se si desidera aggiungere il DOM devi anche aggiungere un valore per il data-url. Quando si crea una pagina html statica,

    <div data-role="page" id="home">

    jQuery mobile aggiunge automaticamente un data-url uguale all’id che si dà. Quando tu, devi tenere la sua mano, e passare un data-url=”home”.

    Quando si genera la stringa html aggiungi a $.mobile.pageContainer in modo da jQuery Mobile sa dove trovarlo (si allegano al corpo funziona anche, ma probabilmente è meglio non scuotere la barca).
    Dopo di che, chiamata .pagina() sulla tua pagina del DOM in modo che jQuery mobile tutti i suoi magici <span> magia per rendere abbastanza.

    $('#home').page();
    • Si potrebbe creare un JSFiddle per questo? Sto avendo problemi a riprodurre il tuo metodo. Posso vedere il dom JQ Mobile sembra essere decorare il mio modello con tutti gli attributi corretto una volta che l’ho chiamata pagina(), ma in realtà nulla viene visualizzato nella finestra del browser.
    • Sarebbe bello se potessimo avere maggiori dettagli in aggiunta la stringa html di $.mobile.pageContainer. Sto cercando per questo, ma questa variabile è sempre nullo quando la “I”. Devo inizializzarlo?
  2. 2

    Gravedigging questo thread. Utilizzando jquery mobile (1.1.0), questo era il lavoro per me, .trigger("create")

        content = '<div data-role="page" id="myID" data-url="myID">'
        //...
        $('body').append(content).trigger("create")
        $("<a href='#myID' data-rel='dialog'/>").trigger("click")
    • Invece di dire “ultimo”, dal momento che questi thread di vivere un lungo periodo di tempo, forse menzionare la versione specifica. 🙂 Sto cercando di indovinare che il tuo “ultimo” al momento è 1.0 o una delle alfa leader fino alla 1.1.0, mentre 1.1.0rc1 è stato rilasciato il 2012-02-28.
  3. 1

    quando si chiama
    $('#home').page();
    stai chiedendo jQuery per migliorare la vostra div con la pagina del foglio di stile specifico e js funzioni. La pagina è già presente nel DOM, ma per mostrare che esso è necessario chiamare $.mobile.changePage("#home",options).
    per ulteriori informazioni (e oggetto di specifiche opzioni), vedere http://jquerymobile.com/test/docs/api/methods.html

Lascia un commento