2013-07-01 87 views
0

我是JQM的新手,我正在使用Phongeap和JQM進行新項目。 我的JavaScript是在一個單一的JS文件,我從多個HTML文件加載視圖。多個頁面上的jqm側面板的事件監聽器

由於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); 
} 

所以這裏是問題。它實際上在第一頁上正常工作。但在第二頁上Menuitems將不起作用,我猜測事件監聽器不在監聽新面板,因爲在html面板中加載了兩次!事件偵聽器只偵聽第一個面板(從第一個頁面),它不會顯示在第二個頁面上。

任何幫助表示讚賞!

回答

0

您是否在第二頁上動態添加面板?在JQM 1.3中,您必須將面板分別添加到每個頁面,但在未來版本中將刪除此限制。

使用事件代表團動態面板:

$(document).on('click' ,'#menu_search' function() { 
     switchPageTo('search.html') 
    });