0

大家好,这是我在stackoverflow中的第一个问题。我将尝试使用 jQuery Mobile(用于 UI)和 PhoneGap(因为我希望它跨平台)创建一个单页 Web 应用程序。在我的应用程序中,我想通过一些模板(字符串)创建页面,当我单击按钮或列表元素时,应用程序从模板创建相应的页面并通过 # attr 导航它。当我第一次加载模板时,jqm 以正确的方式呈现页面,但是当我从 DOM 中删除它并在需要页面时附加它时,jqm 不会以其样式呈现页面,但我只看到链接(或其他元素)。谢谢大家!

4

2 回答 2

0

默认情况下,jQuery Mobile 会自动增强页面上的相应标记,但是如果稍后添加动态内容,则需要create在新页面上手动触发事件。

例如

$('#newPageID').trigger('create');

文档

但是,如果您在客户端生成新的标记或通过 Ajax 加载内容并将其注入页面,则可以触发 create 事件来处理新标记中包含的所有插件的自动初始化。这可以在任何元素(甚至是页面 div 本身)上触发,从而为您节省手动初始化每个插件(listview 按钮、选择等)的任务。

于 2013-01-22T15:24:00.477 回答
0

不幸的是,无论在官方 jQuery Mobile 文档方法中说什么 .trigger('create') 都无法重新设置整个页面的样式。

相反,应该使用它:

$('#newPageID').trigger('pagecreate');

这是一个工作示例:http: //jsfiddle.net/Gajotres/vN45m/

它可以很容易地进行测试,只需将 pagecreate 替换为 create 或注释该整行。

于 2013-01-22T15:37:33.533 回答