0

私は最近、モバイル デバイス (特に iPad) で使用する必要がある jquery を使用して Web アプリを開発しました。jquery mobile をミックスに追加し、 に置き換えclicktap、いくつかの問題を解決しました。さらに進んで - に変更readyしましpageinitたが、ここで問題が発生しました。

古いjqueryコードは次のとおりです。

$(document).ready(function() { ... });

これはデスクトップでは問題なく機能しましたが、モバイルではいくつかの問題がありました。私はそれをに変更しました

$(document).pageinit(function() { ... });

これは、私の開発マシン (OS X) の 1 つとモバイルで問題なく動作しました。ただし、他の開発マシン (Ubuntu) では、エラー メッセージが表示されfunction pageinit does not existました。次に、「正しい」方法に変更しました。

$(document).on('pageinit', function() { ... });

関数が呼び出されないため、これは機能しません。これは、onpageinitイベントが存在しないなどの理由によるものと思われます。pageshow、などでさらに試しpagecreateました-同じ結果です。Firefox と Chrome でも同じ結果です。

それで、私はここで何が欠けていますか?私は今、私のコードに次のようなものを入れました:

$doc = $(document);
func = $doc.pageinit ? $doc.pageinit : $doc.ready;
func(function() { ... });

これにより、OS X、Ubuntu、および iPad で動作するようになりましたが、これは感じ/見栄えが悪くなります。他の提案はありますか?

4

0 に答える 0