2013-06-17 18 views
7

jQuery Mobile(1.3.1)を使用してポップアップ(画面中心)を表示しています。ユーザーの操作に応じて、AJAXを介してポップアップに挿入されるコンテンツがあります。これはうまくいきますが、1つの問題があります: コンテンツがポップアップに挿入されると、そのサイズは変更されますが、位置は更新されません。 ウィンドウのサイズが変更されるとすぐに、ポップアップの位置が更新されますが、これまで手動でこのアクションをトリガする方法は見つかりませんでした。ポップアップのコンテンツ変更後のjQueryモバイルポップアップの再配置

宣言:

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

私はすでに(いくつかの内部、文書化されていないイベントのポップアップウィジェットのソースコードへのクイックビューを含む)窓の中央にポップアップを再配置しようとしたいくつかのもの:

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

私はJavaScriptに関する多くの経験がなく、この問題のアイデアはもうありません;誰かが私を助けてくれますか?ありがとう!

答えて

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

かのどちらかが行います。この場合、

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

、私のために data-position-to="window"

+1

ありがとう、2番目の声明は仕事をしました:) – orbitluke

0

これは、部分的に私の作品:

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

私はすぐにそれをトリガーするとき、私はsetTimeoutを使用して、それがうまく機能しなかったことがわかりました。それは非常にきれいに見えませんが、私はより良い解決策を探しています。

+0

おかげで、それdidn'tの仕事ので。 – orbitluke