我知道这个问题出现在几个地方(迫使jQuery Mobile重新评估动态插入的内容的样式/主题),但是没有一个对我有用的答案。我正在使用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>
3 回答

ibeautiful
TA贡献1993条经验 获得超5个赞
尝试调用.trigger("create")具有新内容的元素。
根据jQuery Mobile文档,“该create事件适合增强包含一个或多个小部件的原始标记。”
编辑:从jQuery Mobile 1.4开始,.trigger('create') 不推荐使用,而应该使用.enhanceWithin()。(感谢John Mc的单挑。)

catspeake
TA贡献1111条经验 获得超0个赞
这对我来说适合列表视图
$('ul').listview('refresh');
您也可以刷新可折叠
$('#element').collapsibleset('refresh')

慕妹3146593
TA贡献1820条经验 获得超9个赞
当我尝试上述解决方案时,我在Firebug中收到一条错误消息
未捕获的异常:不能在初始化之前在listview上调用方法;尝试调用方法“刷新”
我找到了解决方法,而不是.trigger("create")在我调用的新元素追加之后调用
$("ul").listview();
在ajax回调函数的末尾。
这对我来说一切正常。希望能帮助到你。
- 3 回答
- 0 关注
- 410 浏览
添加回答
举报
0/150
提交
取消