2011-10-28 76 views
6

隨着jQuery Mobile的我可以使用自定義主題從jQuery Mobile的更改默認的數據主題

<div data-role="page" data-theme="s" id="home">... 

現在這個工程創建一個頁面,但要求我在我的每一個頁面和任何─中加入這行我添加一個新的頁面。我嘗試將data-theme="s"添加到身體標記,但這沒有任何影響。有沒有辦法做到這一點,然後手動設置每頁?

回答

8

您將不得不以編程方式執行它,AFAIK。

線沿線的東西:現在

$(document).bind("mobileinit", function() 
{ 
    ... 
    $.mobile.page.prototype.options.contentTheme = "z"; //your theme 
    ... 
}); 

,由於沒有集中的勾 - 你將不得不做類似線的所有主題選項有:

$.mobile.page.prototype.options.headerTheme 
$.mobile.page.prototype.options.footerTheme 

等上。

我沒有所有的人的名單,但咋一看通過jquery.mobile-1.0rc1.js尋找.prototype.options.揭示了這些:

$.mobile.page.prototype.options.backBtnTheme 
$.mobile.page.prototype.options.headerTheme 
$.mobile.page.prototype.options.footerTheme 
$.mobile.page.prototype.options.contentTheme 
$.mobile.listview.prototype.options.filterTheme 

所以在我看來,你可以隨身攜帶,隨時隨地探索。 注意並不是所有的都是這樣創建的 - 有些是在代碼中動態構造的。查找Theme字符串以查看我的意思。

更新

$.mobile.page.prototype.options.theme應該被更新 - 基於以下Moak的評論。

+1

好的,謝謝,我會研究它並報告回來。這是一個可行的解決方案,但看起來很愚蠢,不可能爲此實施一種方法。 – Moak

+0

以及'$ .mobile.page.prototype.options.theme'這項工作 – Moak

+1

在1.4.0(不確定以前的版本)中,您需要在加載jquery.js和BEFORE jquery.mobile * .js之後執行此操作 –

1

以下爲我工作。只要確保它在JQM初始化後被調用。

$.mobile.page.prototype.options.theme = "b";