1

将新的 jQuery 移动元素插入页面时,它们的样式不正确,即使在.trigger("create");包含元素上使用也是如此。这确实可以,但是在某种程度上设置了正确的样式,但还不够。

例如,当像这样附加时:

for (var i=0; i<len; i++){
            ...
            $('#results').append("<a href='#' data-role='button'>"+content+"</a>");
        }
        $('#results').trigger("create");

显示是这样的:

在此处输入图像描述

注意额外的圆角。而如果我只是在页面上包含代码,它会正确显示,如下所示:

在此处输入图像描述

每当我在页面加载后将任何内容加载到页面中时,都会发生同样的问题。除了强制自定义样式表中的样式之外,有没有人知道解决这个问题的方法?

4

2 回答 2

3

“创建”事件增强了触发元素中的子标记(例如 $('#results')...)。

所以,你可以通过更换来解决

$('#results').trigger("create");

$('#results').parent().trigger("create");

演示:jsfiddle

于 2012-07-08T19:06:07.573 回答
0

Jquery mobile 使用 html 属性来设置页面样式,其中一些样式还涉及向页面添加某些元素(span、div 等)。

Jquery mobile 还附带了一个可容纳这些样式的 CSS。因此,即使您有一个非常简单的 HTML 页面,如果您使用 firebug 或其他检查工具查看它,您也会看到许多其他元素被动态添加到页面中。

如果你去添加另一个元素,你需要确保它符合 jquery 移动 css 设计。如果没有,您需要找到影响您新添加的元素的类(同样,使用 firebug)并在 jquery 移动 css 中编辑样式,或者用您的样式表覆盖它。

于 2012-07-08T08:25:59.217 回答