如何在 Ajax 请求后重新生成 jQuery Mobile 样式?

Posted

技术标签:

【中文标题】如何在 Ajax 请求后重新生成 jQuery Mobile 样式?【英文标题】:How to regenerate jQuery Mobile style after Ajax request? 【发布时间】:2011-01-26 14:48:16 【问题描述】:

我想在通过 Ajax 加载附加内容后应用自动生成的 jQuery Mobile 样式(jQuery Mobile 类应用于页面加载)。

我通过 Ajax 加载了一些内容,这些内容被解析并组织成 <ul>,但是 jQuery 通常应用于页面加载的样式不会再次应用于 Ajax 加载的内容。

【问题讨论】:

仅供参考:在 listview 上,Cyril 解释的刷新“方法”工作正常。如果您使用不支持“刷新”的元素,则可以使用 1.0b3 中的新触发功能:$('#my_element_id').trigger('create'); 【参考方案1】:

假设您的 ul 是 jquery-mobile “listview”,请尝试使用以下命令刷新整个列表:

$('#yourlist').listview('refresh');

jQuery Mobile 文档 http://jquerymobile.com/demos/1.0a2/#docs/forms/plugin-eventsmethods.html

【讨论】:

很好,但似乎应用到列表的自定义样式似乎在“刷新”命令后消失了,有没有更好的方法来实现同样的效果,而不会丢失应用于“列表样式”的自定义样式" 我认为现在已弃用。 @Brice Favre 我现在正在尝试这个,但它没有任何作用。该方法未显示在我的代码提示中,实际上会导致运行时错误。看起来确实如此。您是否知道刷新列表的解决方法,因为这不再有效?【参考方案2】:

我在使用这种刷新方法时也遇到了问题,在通过删除“刷新”进行更多搜索后让它工作,即:

$('#yourlist').listview();

在http://forum.jquery.com/topic/wish-listview-refresh-would-go-away 找到解释。在 1.1.1 中工作正常

【讨论】:

以上是关于如何在 Ajax 请求后重新生成 jQuery Mobile 样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 jQuery 进行 ajax 请求后替换页面的整个 CSS?

如何在 Yii 中禁用 Ajax 请求的 jQuery 自动加载?

jQuery中,Ajax发送后刷新局部页面的方法

使用 ajax 分页加载页面后重新初始化其他 javascript 函数

如何让jquery在页面加载的时候自动调用某个函数

完成所有 jquery ajax 请求后如何调整 iframe 的大小