jquery移动外部面板不承担造型

Mar*_*las 10 jquery-mobile

我正在尝试实现jQuery mobile 1.4 rc1中提供的新外部面板.我可以让面板在所有页面中进入和关闭,但是面板不会从默认主题(c)继承样式,如果使用data-theme = a定义主题也不会.面板将加载一个无样式的列表视图,除非我导航到url中的#app-menu然后出现样式.有谁知道为什么会这样?

<script id="panel-init">
        $(function () {
            $("body > [data-role='panel']").panel();

        });
    </script>

<div data-role="panel" id="app-menu" data-display="push" data-position="left">
        <ul data-role="listview">
            <li data-role="list-divider">Menu</li>
            <li data-icon="home" data-bind="click: navTo.bind($data, 'location-map', 'flip', false)">current party</li>

        </ul>
    </div>
Run Code Online (Sandbox Code Playgroud)

Oma*_*mar 38

注意: data-theme属性应添加到外部面板,因为它不从容器继承样式/主题.内部面板从包含它的页面div继承样式/主题.

jQuery Mobile现在提供外部面板和工具栏.这些小部件不是由jQM自动启动的.需要手动启动它们,然后.enhanceWithin()在其中加入内容.

$(function () {
  $("[data-role=panel]").panel().enhanceWithin();
});
Run Code Online (Sandbox Code Playgroud)

演示

  • @MarkHollas你是对的,在jQM演示页面上没有解释.甚至不是`.enhanceWithin()`替换`.trigger("create")`. (4认同)
  • 这就是诀窍.谢谢!我常常想知道人们如何了解这些事情.在这种情况下,甚至jQeryMobile网站上的演示在创建外部面板时也不使用此方法,并且内部有完全样式的按钮.再次感谢! (3认同)
  • 它实际上是在某个地方的演示中,隐藏在深处,在洞穴中.JQM文档的问题似乎是每个代码库有2或3个版本,每个版本都以不同的方式告诉它.尽管它在最新的文档中是def.这就是我找到它并最近与@Omar讨论的地方.但是JQM文档在()中留下了很多东西. (2认同)