从jQuery Mobile更改默认数据主题

Moa*_*oak 6 javascript image offlineapps cordova

使用jQuery Mobile,我可以使用自定义主题创建页面

<div data-role="page" data-theme="s" id="home">...
Run Code Online (Sandbox Code Playgroud)

现在这可行,但要求我在每个页面中添加此行,并且每次添加新页面.我尝试添加data-theme="s"到body标签,但这没有任何影响.有没有办法做到这一点,然后每页手动设置?

Zen*_*ter 8

你必须以编程方式,AFAIK.

有点像:

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

现在,由于没有集中式挂钩 - 您必须为所有主题选项执行类似的行:

$.mobile.page.prototype.options.headerTheme
$.mobile.page.prototype.options.footerTheme
Run Code Online (Sandbox Code Playgroud)

等等.

我没有所有这些列表,但快速查看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
Run Code Online (Sandbox Code Playgroud)

所以在我看来,你可以随身携带这些,并在你去的时候发现更多.请注意,并非所有这些都是这样创建的 - 有些是在代码中动态构造的.寻找Theme字符串,看看我的意思.

更新

$.mobile.page.prototype.options.theme 应该更新 - 基于Moak的评论如下.