2013-06-17 20 views
7

Sto usando jQuery Mobile (1.3.1) per visualizzare un popup (centrato sullo schermo). A seconda delle azioni dell'utente, alcuni contenuti vengono inseriti nel popup tramite AJAX. Funziona bene, ma c'è un problema: Una volta che il contenuto è stato iniettato nel popup, le sue dimensioni cambiano, ma la posizione non viene aggiornata. Non appena la finestra viene ridimensionata, la posizione popup viene aggiornata, ma finora non ho trovato un modo per attivare questa azione manualmente.Riposizionare jQuery Mobile popup dopo la modifica del contenuto

Dichiarazione del popup:

<div id="MoveFolderPopup" data-role="popup" data-position-to="window" style="min-width: 20em"> 

Alcune cose che ho già cercato di riposizionare il popup al centro della finestra (tra cui una rapida vista al codice widget popup sorgente per alcuni, eventi senza documenti interni):

$('#MoveFolderPopup').trigger("reposition"); 
$('#MoveFolderPopup').trigger("_reposition"); 
$('#MoveFolderPopup').trigger("_handleWindowResize"); 
$('#MoveFolderPopup').trigger('refresh') 
$(window).trigger('resize'); 
$('#MoveFolderPopup').popup('open'); 
$('#MoveFolderPopup').trigger('updatelayout'); 

Non ho molte esperienze con JavaScript e non ho più idee per questo problema;) Qualcuno potrebbe aiutarmi per favore? Grazie!

risposta

18
$("#MoveFolderPopup").popup("reposition", {positionTo: 'origin'}); 

o

$("#MoveFolderPopup").popup("reposition", {positionTo: 'window'}); 

in questo caso entrambi farà, perché data-position-to="window"

+1

Grazie, la seconda dichiarazione ha fatto il lavoro :) – orbitluke

0

funziona questo in parte per me:

$('#MoveFolderPopup').resize(); 

Ho trovato che quando si attiva immediatamente non ha funzionato bene, così ho usato setTimeout. Comunque non sembra molto carino, sto cercando una soluzione migliore.

+0

Grazie, ma che il lavoro didn 't per me. – orbitluke

Problemi correlati