2013-06-17 20 views
7

Bir popup (ekran ortalanmış) görüntülemek için jQuery Mobile (1.3.1) kullanıyorum. Kullanıcı eylemlerine bağlı olarak, AJAX aracılığıyla açılan pencereye bazı içerikler eklenir. Bu iyi çalışır, ancak bir sorun var: İçeriği açılır pencereye enjekte edildikten sonra boyutu değişir, ancak konum güncellenmez. Pencere yeniden boyutlandırıldığında, açılan konum yenilenir, ancak şu ana kadar bu eylemi manuel olarak tetiklemenin bir yolunu bulamadım. popupYeniden konumlandırma jQuery İçeriği değiştirdikten sonra mobil açılır pop-up

Beyanı:

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

Bazı şeyler zaten (bazı iç, belgesiz olaylar için açılan widget'ları kaynak koduna hızlı bir görünüme dahil) pencere merkezine pop-up yeniden konumlandırmak için çalıştı:

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

JavaScript'le ilgili pek çok deneyimim yok ve bu sorunla ilgili daha fazla fikrim yok;) Birisi bana yardımcı olabilir mi? Teşekkürler!

cevap

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

ya ya yapacağız bu durumda

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

benim için data-position-to="window"

+1

Teşekkür ederim, ikinci ifade işini yaptı :) – orbitluke

0

Bu kısmen benim için çalışıyor:

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

bunu tetiklerken ben setTimeout kullanılan bu yüzden derhal de işe yaramadı buldunuz. Çok güzel görünmüyor, daha iyi bir çözüm arıyorum.

+0

sayesinde, ama bu işe yaramadı çünkü. – orbitluke

İlgili konular