我正在使用wordpress mobile创建一个应用程序,并从wordpress throw jQuery加载它的菜单和页面。我正在加载它的菜单,形式是折叠集和列表视图,但我一直收到错误。当我尝试通过下面的代码刷新折叠集时
$(".childnev").html(list);
$.mobile.loading( 'hide');
$('.popupmenu').slideToggle('slow');
$(".childnev").collapsibleset('refresh');
$(".childsublist").listview().listview('refresh');它给出了这个错误
Error: cannot call methods on collapsibleset prior to initialization;
attempted to call method 'refresh'当我尝试用这段代码刷新时。
$(".childnev").html(list);
$.mobile.loading( 'hide');
$('.popupmenu').slideToggle('slow');
$(".childnev").collapsibleset();
$(".childnev").collapsibleset('refresh');
$(".childsublist").listview().listview('refresh');它再一次给我这个错误
TypeError: o[0] is undefined我是不是遗漏了什么或者做错了什么?
发布于 2013-06-29 18:47:29
您所需要做的就是添加以下内容
$('[data-role=collapsible-set]').collapsibleset().trigger('create');这将增强当前页面(活动页面)的[data-role=listview]和[data-role=collapsible-set]标记。您可以用任何选择器替换$('[data-role=collapsible-set]')。
备注
.ready一起使用。此外,不再使用.live,因此,用.on..live方法refresh、create、pagecreate和updatelayout将用于当前页面(active page - $.mobile.activePage),以重新应用jQuery移动样式。对于动态创建的DOM页面,不需要使用任何增强方法-甚至不需要.page()或pagecreate -因为页面及其内容一旦放入DOM就会得到增强。发布于 2013-06-29 17:50:33
因为你是动态地将可折叠的se附加到这个类,所以它不能被刷新,因为它不是被创建的。您需要创建它。
你必须使用
$(".childnev").html(list).trigger('create');发布于 2013-06-29 17:50:56
可折叠集未初始化。您要替换html,因此需要在元素上触发create。
替换$(".childnev").collapsibleset('refresh');
使用
$(".childnev").trigger('create');只有在动态附加、删除元素时,才会使用刷新方法。
https://stackoverflow.com/questions/17378836
复制相似问题