2013-08-21 30 views
3

我尝试自定义jquery mobile的主题。在“用户界面,弹出”的文档,我发现了两个选项,我可以改变有关的主题化:如何更改ui-popup主题中的数据角色“内容”?

$.mobile.popup.prototype.options.overlayTheme = "jobstaff-de"; 
$.mobile.popup.prototype.options.theme = "jobstaff-de"; 

这将导致如下:

<div data-role="popup" id="loginDialog" class="ui-body-jobstaff-de" data-theme="jobstaff-de" data-overlay-theme="jobstaff-de">...</div> 

到目前为止好。我的问题是指这个div区的内部html。我发现它在这里:

<div data-role="content" class="ui-body-c" data-theme="c" role="main">...</div> 

为什么主题重置为“c”在这里?我需要改变其他东西吗?

感谢您的任何帮助!


EDIT 1为ORMA:下面的主题,我改变了。我已经把它们纳入其中的jquery.js后加载的文件名为jquery.mobile.theme.js但jquery.mobile.js前:jquery.mobile.theme.js的

<script type='text/javascript' src='js/jquery.js'></script> 
<script type='text/javascript' src='js/jquery.mobile.theme.js'></script> 
<script type='text/javascript' src='js/jquery.mobile.js'></script> 

内容:(jQuery的.js文件和jquery.mobile.js不变)

$(document).bind('mobileinit', function() { 

    $.mobile.page.prototype.options.theme    = "jobstaff-de"; 
    $.mobile.page.prototype.options.headerTheme   = "jobstaff-de"; 
    $.mobile.page.prototype.options.contentTheme  = "jobstaff-de"; 
    $.mobile.page.prototype.options.footerTheme   = "jobstaff-de"; 
    $.mobile.page.prototype.options.backBtnTheme  = "jobstaff-de"; 

    // Popups 
    $.mobile.popup.prototype.options.overlayTheme  = "jobstaff-de"; 
    $.mobile.popup.prototype.options.theme    = "jobstaff-de"; 

    // listviews 
    $.mobile.listview.prototype.options.headerTheme  = "jobstaff-de"; // Header for nested lists 
    $.mobile.listview.prototype.options.theme   = "jobstaff-de"; // List items/content 
    $.mobile.listview.prototype.options.dividerTheme = "jobstaff-de"; // List divider 
    $.mobile.listview.prototype.options.splitTheme  = "jobstaff-de"; 
    $.mobile.listview.prototype.options.countTheme  = "jobstaff-de"; 
    $.mobile.listview.prototype.options.filterTheme  = "jobstaff-de"; 

    // selectmenu 
    $.mobile.selectmenu.prototype.options.menuPageTheme = "jobstaff-de"; 
    $.mobile.selectmenu.prototype.options.overlayTheme = "jobstaff-de"; 
    $.mobile.selectmenu.prototype.options.theme   = "jobstaff-de"; 

    // dialog 
    $.mobile.dialog.prototype.options.theme    = "jobstaff-de"; 

    // panel 
    $.mobile.panel.prototype.options.theme    = "jobstaff-de"; 

    //input 
    $.mobile.textinput.prototype.options.theme   = "jobstaff-de"; 

    // buttons 
    $.mobile.button.prototype.options.theme    = "jobstaff-de"; 


}); 
+0

你是否也在改变_page_的默认主题?你是否在jquery和jquery mobile之前加载了上面的代码? – Omar

+0

请向我们展示您的代码Tobias –

+0

我编辑了我的问题:-) –

回答

1

我从来没有修改的主题,这样的:-)

你为什么不只是写您的jobstaff-de主题(我假设你有)和手动将其设置在您的JQM页面上:

<div data-role="page" data-theme="jobstaff-de"> 
    // all widgets will inherit jobstaff-de 
</div> 

在JQM 1.4中,这个单一的主题声明应该足以将页面的主题继承到页面上的所有小部件,而无需再次指定它 - 因此无需覆盖任何默认值恕我直言。

+0

版本1.4目前处于alpha状态,但我认为这是最有帮助的答案在未来对于有同样问题的人来说。所以我必须等到1.4发布;)感谢您的建议! –

相关问题