0

私はJQMが初めてで、新しいプロジェクトのためにJQMでPhongeapを使用しています。私の JavaScript は 1 つの js ファイルにあり、複数の html ファイルからビューを読み込んでいます。

siede パネルのトランジションが貧弱なので、ページを変更するときに<a href="page2.html">、Menuitems のイベント リスナーを使用しようとしました。

    function setPanelListeners(){
    $('#menu_search').click(function() {
                            switchPageTo('search.html');
                            });
    $('#menu_schedule').click(function() {
                              switchPageTo('program.html');
                              });
    $('#menu_news').click(function() {
                              switchPageTo('news.html');
                              });
}

この関数は、各ページの pagebeforeshoe イベントで呼び出します。トランジションを必要な方法で修正するには、この関数を使用します

    // Close Panel then change page
function switchPageTo(url){
    $('#menupanel').panel('close');
    setTimeout(function() {
               $.mobile.changePage( url, { transition: 'fade'} );
            },200);
}

ここに問題があります。実際、最初のページでは問題なく動作します。しかし、2 番目のページでは Menuitem が機能しません。イベント リスターが新しいパネルをリッスンしていないと思います。これは、html でパネルが 2 回読み込まれるためです。また、イベント リスナーは、2 ページ目に表示されない最初のパネル (最初のページから) のみをリッスンします。

どんな助けでも大歓迎です!

4

1 に答える 1

0

2 ページ目にパネルを動的に追加していますか? JQM 1.3 では、各ページに個別にパネルを追加する必要がありますが、この制限は将来のバージョンで削除される予定です。

動的パネルにイベント委任を使用します。

$(document).on('click' ,'#menu_search' function() {
        switchPageTo('search.html')
   });
于 2013-07-01T14:23:55.283 に答える