私は最近、モバイル デバイス (特に iPad) で使用する必要がある jquery を使用して Web アプリを開発しました。jquery mobile をミックスに追加し、 に置き換えclick
てtap
、いくつかの問題を解決しました。さらに進んで - に変更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 で動作するようになりましたが、これは感じ/見栄えが悪くなります。他の提案はありますか?