我知道这个问题出现在几个地方(迫使jQueryMobile重新评估动态插入的内容的样式/主题),但是没有一个对我有用的答案。
我正在使用ajax加载一些内容,并将其插入到div中,如下所示:
$.ajax({ url: "../Services/CalendarService.cshtml?service=true", cache: false, success: function (data) { data = $.parseJSON(data); var s = $("#user_tmpl").html(); var s1 = tmpl(s, data); $("#target").html(s1); $("#targetRefresh").page(); } });
我尝试在要添加html的目标和页面上都设置targetRefresh,但是没有运气。插入了内容,但未应用样式。
我也尝试过
.trigger("enhance")
知道该怎么办吗?
插入的html是一堆这样的:
<div data-theme="e" data-collapsed="true" data-role="collapsible"> <h3>MyOwner2AA</h3> <p>MyDescription</p> <p>/Date(1320339836735)/</p> <p>MyOwner</p> <i></i> </div>
谢谢你的帮助
拉尔西
尝试调用.trigger("create")具有新内容的元素。
.trigger("create")
根据jQuery Mobile文档,“该create事件适合增强包含一个或多个小部件的原始标记。”
create
编辑 :从jQuery Mobile 1.4开始,.trigger('create') 不推荐使用,而应该使用.enhanceWithin()。(感谢John Mc的单挑。)
.trigger('create')
.enhanceWithin()