我有一个两页的应用程序。两个页面都包含在客户端上动态创建的所有内容。
问题是,如果我去page A > page B > page A > page B
,在第二次+访问时,页面B不再被Jquery Mobile增强,尽管pagecreate
正确触发。我坚持使用未增强标记的页面。
我无法在页面的单独小部件上调用create
,因为小部件将是随机类型,因为我cannot call create prior to initialization
。收到此错误后,我在未增强页面上手动调用pagecreate
,修复了所有小部件。
问题是,如何检测JQM是否增强了页面?因为我不想在已经增强的页面上调用它。
所以,看似简单的问题:
如何测试Jquery Mobile是否增强了页面?
感谢您的投入!
答案 0 :(得分:2)
这很简单。
如果您使用触发器('pagecreate')来增强页面标记,请使用此选项来检查页面容器是否已增强:
$(document).on('pagebeforeshow', '#index', function(){
alert($.mobile.activePage.hasClass('ui-page'));
});
如果您使用触发器('create')仅增强页面内容div,请使用此选项来检查内容容器是否已增强:
$(document).on('pagebeforeshow', '#index', function(){
alert($.mobile.activePage.find('[data-role="content"]').hasClass('ui-content'));
});
当然,只有在您增强整页或整个内容的情况下,此案例才有效。
编辑:
这是一个动态添加页面的真实示例:http://jsfiddle.net/Gajotres/8jcGb/