2012-04-18 6 views
13

これは私がmobileinitイベントにフックしようとしている方法です:jQuery Mobileで「mobileinit」イベントをバインドする方法は?

$(document).bind("mobileinit", function() { 
    console.log("Mobile init"); 
}); 

しかし、これはクロム(最新版)、リップルv0.9.1上とブラックベリーボールド9790実行しているOS7.0上では動作しません。 。

注:.bind()の代わりに.on()を使用してみましたが、運はありませんでした。どちらのjQueryモバイル・バージョン(1.0.1および1.1.0)も失敗しました。

答えて

45

私はこれを使用しました。です。

スクリプトが壊れているか、携帯端末が解雇されていない可能性はありますか?

Chromeはモバイルを起こしますか?

私はjQuery Mobile 1.0で使用したコードを見つけましたが、1.1.0にアップグレードしたところで動作します。

レギュラーオールjQueryも含まれていることを確認しています。

jQueryMobile's docs do itだから、私はそれが動作すると確信しています。他の何かが間違っている必要があります。申し訳ありませんが、あまり役に立たないです。それ以上の情報はありますか?または、別のデバイスで試してみてください。

[編集]同じセルフページには、「mobileinitイベントがすぐにトリガーされるため、jQuery Mobileがロードされる前にイベントハンドラをバインドする必要があります。次の順序でJavaScriptファイルにリンクしてください: "

<script src="jquery.js"></script> 
<script src="custom-scripting.js"></script> <!-- Note your script before jqm --> 
<script src="jquery-mobile.js"></script> 

スクリプトの順序が重要であるように見えます。ここで

+3

'custom-scripting.js'ファイルに' mobileinit'イベントハンドラが格納されるので、jQuery Mobile iの時刻にバインドされますニアライズします( 'mobileinit'イベントを発生させます)。 – Jasper

+0

私はこれを知っていましたが、ドキュメントでそれを読んでいましたが、それでも私を捕まえました。この投稿に感謝します。時間を節約しました! –

+0

@DaveR私はこれがトータルであることは知っていますが、4月からずっとjQuery Mobileで作業していませんでした。同じ日、あなたはコメントしました.JQMでPhoneGapを使ってアプリケーションをコンパイルしています。とにかく、私は助けることができてうれしい! – CWSpear

5

はjqueryの携帯

  • はjqueryの携帯JSが
  • ファイルが含ま前

    <script type="text/javascript" src="files/resources/lib/jquery/jquery-1.8.2.js"> </script> 
    <script type="text/javascript"> 
    $(document).bind("mobileinit", function() 
           { 
           if (navigator.userAgent.toLowerCase().indexOf("android") != -1) 
           { 
           // your logic here 
           $.mobile.defaultPageTransition = 'none'; 
           $.mobile.defaultDialogTransition = 'none'; 
           } 
           if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) 
           { 
           // your logic here 
           $.mobile.allowCrossDomainPages = true; 
           $.support.cors = true; 
           } 
           }); 
    </script> 
    <script type="text/javascript" src="files/resources/lib/jquerymobile/1.3.2/jquery.mobile-1.3.2.js"></script> 
    
    1. バインドmobileinitメインjqueryのファイルをインクルード(AndroidとiOSのために)私と一緒に働く別の簡単な例であります
    関連する問題