1

可能重复:
jQuery Mobile 在动态添加内容后不应用样式

我想知道我是否在这里遗漏了什么......

如果我写

<a onclick="deleteThis()" data-role="button" data-theme="a">Button text</a>

在 HTML 页面的正文中,它可以正常工作。但是当我以编程方式尝试使用以下命令添加新按钮时:

$('.block').append('<a onclick="deleteThis()" data-role="button" data-theme="a">' + results[i].Title + '</a>');

该链接被很好地附加,只是没有 JQuery 移动样式, data-theme="a" 应该将特定的颜色样本 css 应用于相关元素。

我哪里错了?

4

3 回答 3

5
 $('.block').append(' <a onclick="deleteThis()" data-role="button" data-theme="a"> Text</a>').trigger( "create" );
于 2012-07-10T15:24:05.727 回答
0

您可以使用.buttonMarkup()jQuery Mobile 提供的方法。此方法还允许您传递一些可选参数。

以下是该.buttonMarkup()方法的文档:http: //jquerymobile.com/demos/1.1.0/docs/buttons/buttons-options.html

以下是使用此方法创建按钮的示例:

$('<a href="#" />').text('New Button').buttonMarkup({
    theme  : 'a',
    icon   : 'star',
    mini   : false,
    inline : false
});
//these are just a few of the options

这是一个演示:http: //jsfiddle.net/jasper/6BF6M/

另外,我是否建议使用 jQuery 来进行事件绑定,例如:

$('.block').append(
    $('<a href="#" />').text('New Button').buttonMarkup().bind('click', deleteThis)
);
于 2012-07-10T16:01:40.980 回答
-1

尝试为页面触发刷新事件:

$('#pageId').trigger('pagecreate');

如果是列表视图:

$('#listId').listview('refresh');
于 2012-07-10T15:06:36.870 回答