0

jQuery Mobile を使用して、ユーザーがページを開いたときにアラートを表示したい

<div data-role="page" id="page3">
    <div data-role="header">
        <h1>Page Three</h1>
    </div>
    <div data-role="content">   
        <script>alert('How are you');</script>  
    </div>
    <div data-role="footer">
        <h4>Page Footer</h4>
    </div>
</div>

しかし、上記のコードはアプリの起動時にアラートを表示し、ページを開いたときに何もしません。よろしくお願いします。

4

4 に答える 4

1

ページの<head>部分に次のように配置します。

<script>
    $(document).on('pageshow','#page3',function(){
        alert('How are you');
    });
</script>

注: .live()メソッドは非推奨になりました。理由の詳細については、ドキュメントを参照してください。また、.on()メソッドが推奨されますが、jQuery1.7以降を使用している必要があります。jQuery 1.7より前の場合は、代わりにデリゲートを使用してください。

<script>
    $(document).delegate('#page3','pageshow',function(){
        alert('How are you');
    });
</script>
于 2012-05-26T09:48:47.943 に答える
1

jQueryMobile には、ページがいつ読み込まれるかを知るための特定のイベントがあります。

代わりに、次のことを試してください (これを body の前の head 要素に入れます):

<script>
$('#page3').live('pageshow', function() {
   alert('Page ' + $(this).attr('id') + ' about to be shown');
});
</script>

代わりに「pagebeforeshow」/「pagecreate」イベントを処理することもできます。

于 2012-05-26T08:03:37.950 に答える
1

これを試して

<script>
    $("div[data-role=content]").eq(0).ready(function() {
        alert('How are you');
    });
</script>  
于 2012-05-26T05:53:39.120 に答える
1

このようにしてください。この div は、ページの読み込み後に読み込まれると想定されています。

div ID でアクセス。

$('#page3').load(function() {
    alert("loaded....");
});

div クラスでアクセスします。

$('.page').load(function() {
    alert("loaded....");
});
于 2012-05-26T05:34:30.027 に答える