5

イベント「pageshow」で呼び出されたメソッドでポップアップを開くことができないようです。ボタンをクリックするとポップアップが開くため、コードが間違っていないことはわかっています...そして、Firebugをチェックインしましたが、エラーメッセージはありません。コードは次のとおりです。

HTML :

<div data-role="popup" id="myPopup">
    ... my elements
</div>

JS:

$('#p_guarantee').live('pageshow', function(){
    $('#myPopup').popup('open');
});

何か特別なことがあるかどうか知っている人はいますか?あなたが私の問題を解決できれば、私はとても感謝しています:)

前もって感謝します !

4

3 に答える 3

6

コメントでの議論に従って、イベントが発生したsetTimeout()後に関数を使用してこれを解決できます。pageChangeこれは、ページが最初にレンダリングされて改善され、その後、特別な意味を持つ要素 (ポップアップなど) がイベントにバインドされるためであると思われます。

data-role="popup"また、ポップアップ DIV から を完全に削除して、基本的にこれを行うこともできます。

<div id="myPopup">
    ... my elements
</div>

$('#p_guarantee').live('pagechange', function(){
    $('#myPopup').popup();
    $('#myPopup').popup('open');
});

...そして、それがうまくいくかどうかを確認してください。

于 2012-10-12T15:27:26.263 に答える
0

あなたのコードに問題はありません。どのプラットフォーム向けに開発していますか?

この例のコードを試してください: http://jsfiddle.net/hhejq/1/

于 2012-10-12T13:50:21.177 に答える