4

私は以前にこの質問を投稿しようとしましたが、私が抱えていた問題が jQuery 1.3.0 ライブラリの使用に起因していることに気付きませんでした。

jQuery モバイルを使用して、ページでユーザーの操作なしでダイアログを作成しようとしています。FireFox では動作しますが、Safari、Mobile Safari、Chrome などのすべての Webkit ブラウザーでは失敗します。

問題の例を次に示します: http://jsfiddle.net/fskirschbaum/2YTwE/

$.mobile.changePage( '#dialog' , { transition:"pop", role:"dialog" });

これを正しく機能させるためにいくつかの方法を試しましたが、頭を壁にぶつけているような気がします。ライブラリ ベースを 1.2.0 に変更すると機能するため、1.3.0 の問題のようですが、他の誰かがこの問題を抱えているようには見えません。

編集:これをいくつかのイベントに添付しようとしましたが、pagecreate、pageinit、pageload などの成功はありませんでした。これは役に立たないようです。また、これは、このライブラリが別のライブラリにクラッシュする問題であるように思われることも指摘します.jqueryとjquery mobileのみが呼び出されたバニラページで、1.3ライブラリを使用してこれを機能させることができますが、jsFiddleまたは私の環境では機能しません(私は jQueryUI などの他の多くのライブラリを呼び出しており、それらが呼び出される順序を調整しようとしました。)

誰か提案はありますか?

4

2 に答える 2

1

そのため、Webkit のレンダリングと他の特定のライブラリの問題に関係しているようです。

関数のラップは私の環境では機能しpageshowませんでしたpagecreateが、createPage の後に呼び出されるイベントであるラップでラップしました。なぜこれが起こったのかはわかりませんが、うまくいきます。

http://jsfiddle.net/fskirschbaum/pKw2A/

ただし、このソリューションは Firefox / Gecko のレンダリングで機能しないため、関数を機能させるにはブラウザー チェックでラップする必要があります。明らかに、これは最も洗練されたソリューションではありませんが、それでも解決策です。

うまくいけば、これは同じ問題を抱えている他の人の助けになります。

于 2013-03-28T16:21:42.733 に答える
0

以下のように呼び出し$.mobile.changePageます。

$(document).on('pageshow', '#home', function(){
    $.mobile.changePage('#dialog');
});
于 2013-03-28T04:59:56.560 に答える