繁体   English   中英

JQuery Mobile 不刷新按钮样式

[英]JQuery Mobile not refreshing button styles

当我尝试使用如下代码在 JQuery 中创建元素时:

$('#grid').append('<div id="gridElement'+counter+'" class="ui-block-'+rowLetter(counter)+'"></div>');
$('#gridElement'+counter).append('<div id="gridContent'+counter+'" data-inline="true"></div>');
$('#gridContent'+counter).append('<a id="button'+counter+'" href="#" data-role="button"></a>');
$('#button'+counter).html('someButtonText');

元素已正确添加,但未执行 JQuery Mobile 样式。 这是有道理的,我知道该库在加载后立即对 DOM 执行一些操作,但我无法找到一种方法来根据命令实现这一点。 显然我需要指示 JQuery Mobile 库重建页面,但对于我的生活,我一般找不到任何东西可以做到这一点。 我设法找到了几篇关于这是选择框和列表问题的帖子,但一般来说,页面、网格或按钮没有任何内容。 到目前为止,这甚至可能吗? 它仍处于 alpha 阶段,因此可能不是。

您可以这样做,而不是刷新整个div页面:

  • 如果您尝试刷新data-role=collapsible使用collapsible()函数
  • 如果您尝试刷新data-role=button使用button()函数

例子:

$('#bank_content div[data-role=collapsible]').collapsible();
$('#garden_content a[data-role=button]').button();

这是在我的情况下有效的方法:

我有一个包含不同元素的列表视图,每个元素都有一个 data-role="controlgroup" ,其中包含拆分按钮:

<ul id="my-list" data-role="listview" data-split-theme="a">
    <li class="list-element">
        <div class="listview-buttons" data-role="controlgroup" data-type="horizontal" >
            <a href="#" data-role="button" data-icon="delete" data-iconpos="top">REMOVE</a>
            <a href="#" data-role="button" data-icon="arrow-r" data-iconpos="top">SELECT</a>
        </div>  
    </li>
    <li class="list-element">
        <div class="listview-buttons" data-role="controlgroup" data-type="horizontal" >
            <a href="#" data-role="button" data-icon="delete" data-iconpos="top">REMOVE</a>
            <a href="#" data-role="button" data-icon="arrow-r" data-iconpos="top">SELECT</a>
        </div>
    </li>
</ul>

在使用 javascript 动态添加另一个列表元素(包括新的拆分按钮)后,我需要刷新列表、控制组和按钮,如下所示:

$('#my-list').listview('refresh'); //refresh listview first
$('.listview-buttons').children('a').buttonMarkup(); //refresh the buttons
$('.listview-buttons').controlgroup('refresh'); // then refresh the controlgroup

希望对你也有帮助。

如果您尝试刷新控制组,我想补充一下。 这对我有用。

.buttonMarkup()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM