8

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

ポップアップの宣言:

<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 の経験があまりなく、この問題についてこれ以上アイデアがありません ;) 誰か助けてくれませんか? ありがとう!

4

3 に答える 3

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

また

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

この場合、どちらでもかまいません。data-position-to="window"

于 2013-06-18T19:23:27.597 に答える
0

これは私にとって部分的に機能します:

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

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

于 2013-06-18T17:56:00.303 に答える