我正在使用jquery mobile为UI和jquery模板构建一个锻炼目录来处理html。我已经能够将html附加到已创建的页面并通过.page()函数获取jquery mobile来更改标记。
但是,我希望能够创建新的jq移动页面。我可以使用data-role = page将代码注入到div中,并在其上调用.page(),这一切都很好。但是将一个完全制作的页面添加到正文中是行不通的。
编辑: 这个问题和我的回答是指 jquery mobile alpha 3
答案 0 :(得分:9)
好的我明白了。如果要添加DOM,还必须为data-url添加值。当您创建静态html页面时,
<div data-role="page" id="home">
jQuery mobile会自动添加一个等于你提供的id的数据网址。当你自己动手时,你必须握住它并传递一个data-url =“home”。
当你生成你的html字符串时,将它附加到$ .mobile.pageContainer,以便jQuery Mobile知道在哪里找到它(将它附加到正文也适用,但最好不要摇晃船)。
之后,在DOM中的页面上调用.page(),以便jQuery mobile能够完成所有神奇的<span>
魔术,使其变得漂亮。
$('#home').page();
答案 1 :(得分:2)
重写此线程。使用jquery mobile(1.1.0),这对我有用,.trigger("create")
...
content = '<div data-role="page" id="myID" data-url="myID">'
// ...
$('body').append(content).trigger("create")
$("<a href='#myID' data-rel='dialog'/>").trigger("click")
答案 2 :(得分:1)
$('#home').page();
你要求jQuery使用页面的特定样式表和js函数来增强你的div。该页面已存在于DOM中,但要显示该页面,您必须调用 $.mobile.changePage("#home",options)
。
有关更多信息(以及特定于对象的选项),请参阅http://jquerymobile.com/test/docs/api/methods.html