0

奇妙な動作があり、それを修正する方法がわかりません。

モバイル版の Web サービスがあり、要素に検索フォームを配置しているすべてのページでDIV、コンテナ全体を一般的な jQuery の.toggle()で切り替える必要があります

コードは次のとおりです (サンプルのように、スクリプトはページのコードに直接配置されます)。

<div id="search-area" style="display: none">
    search form here...
</div>

<a href="#" id="search-area-switch" data-role="button">Search</a>

<script type="text/javascript">
    $('#search-area-switch').live('tap',function (event) {
        $('#search-area').toggle();
    });
</script>

私の問題は、リロード後の最初のtoggle()ページでのみ機能し、次のページ変更の切り替えができなくなったことです。(ところで、遷移などを維持するために、ページは AJAX で読み込まれます)

私は何を逃したのですか?

4

1 に答える 1

1

スクリプトがページの先頭にある場合、Jquery Mobileは最初のページの後の先頭を無視するため、ページを変更してもスクリプトは実行されません。

一般に、同じIDを持つ複数のアイテムを持つことは悪い習慣です。それらをそれぞれ同じクラスにしてから、セレクターにその方法でアイテムを見つけてもらうことをお勧めします。

于 2012-07-17T19:47:35.137 に答える