JQuery Mobile没有刷新按钮样式

时间:2011-01-31 20:43:37

标签: javascript jquery html javascript-events mobile

当我尝试使用以下代码在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状态,因此可能不是。

4 个答案:

答案 0 :(得分:7)

您可以执行此操作,而不是刷新整个div页面:

  • 如果您尝试刷新data-role=collapsible,请使用collapsible()功能
  • 如果您尝试刷新data-role=button,请使用button()功能

示例:

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

答案 1 :(得分:5)

以下是我的案例:

我有一个包含不同元素的listview,每个元素都有一个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

希望对你有帮助。

答案 2 :(得分:0)

答案 3 :(得分:0)

如果您尝试刷新控件组,我想添加它。这对我有用。

.buttonMarkup()