2013-11-27 37 views
0

上我有一個兩頁的jQuery的移動應用程序,以及初始化函數,下面的代碼..jQuery Mobile的認定從第一頁元素時,第二頁

呼叫轉移到初始化函數

$(document).on('pageinit', function(){ 
    MyPages.init(); 
}); 

init: function() { 
    $('td[id$="drops"]').each(function() { 
     console.log("Element: " + $(this).attr('id')); 
    }), 
}; 

我在頁面1中有與上面相匹配的元素,例如'#early_drops','#late_drops'等。這些元素在頁面2上不存在,但是當頁面2加載時,元素僅在控制檯中顯示就像第1頁加載時一樣。我在這裏錯過了什麼?

非常感謝,

- 亞當vonNieda

+0

在jQuery Mobile的,你擁有的一切在一個單一頁面加載。這只是#tag改變,導航。所以,你正在獲取所有頁面中將存在的舊內容的值。 – sSaroj

+0

'$(document).on('pageinit',「#page_id」,function(){'綁定到特定的頁面,使用頁面的'id'。 – Omar

+1

OK,這就是我所缺少的,非常感謝Omar! –

回答

0

通過使用AJAX到現有的頁面,以允許動畫過渡jQuery的默認加載頁面。如果你不想要這個,你只需要關閉AJAX加載。

參見描述在這裏:http://view.jquerymobile.com/1.3.2/dist/demos/widgets/links/

鏈接指向其他結構域或具有相對=「外部」,數據的Ajax =「假」或目標屬性不會與AJAX加載。相反,這些鏈接將導致整個頁面刷新,而沒有動畫過渡。兩個屬性(rel =「external」和data-ajax =「false」)具有相同的效果,但具有不同的語義含義:鏈接到另一個站點或域時應使用rel =「external」,而data-ajax =「 false「對於簡單地選擇通過AJAX加載的域中的頁面非常有用。

您可以在整個應用程序中使用全局配置也禁用AJAX默認爲:http://api.jquerymobile.com/global-config/

相關問題