我在JQmobile的pagebeforecreate方法中添加了整个html标记。最后我将html附加到空白页面并使用触发器('create')来正确设置整个标记的样式。除了从其区域出来的面板外,所有样式都很好。我尝试使用触发器。(updateLayout)方法小组但没有用。 我知道有一些简单的命令我想念但是无法理解。 寻找某人的帮助
代码:
$(document).on('pagebeforecreate', '#pageone', function(){
var str = '<div data-role="panel" id="user-panel" data-display="overlay" data-
swipe-close="false" >'+
'<ul data-role="listview" id="list" data-theme="a">'
var str1=''
$.getJSON( "url", function( data, status) {
$.each(data.category, function (key, value) {
if(value.id==2) str = str + '<li ><a href = "index.html" id="'+value.id+'"
onclick="test(event)">'+value.name+'</a></li>'
else str = str + '<li ><a href = "MainCategory.html" id="'+value.id+'"
onclick="test(event)">'+value.name+'</a></li>'
});
str = str + '</ul>'
str = str +'</div>'
//Code continued.....And at last
$(str).appendTo( "#pageone" ).enhanceWithin();
$("#pageone").trigger("create");
$("#list").listview().listview('refresh');
$("#list").listview('refresh');
$('[data-role=panel]').trigger( "updatelayout" );
PS:当我在控制台中获得生成的标记并将其作为html页面打开时,面板很好,这意味着动态添加存在一些问题