使用jQuery模板动态创建jQuery Mobile页面

时间:2011-02-19 02:00:55

标签: jquery templates jquery-mobile

我正在使用jquery mobile为UI和jquery模板构建一个锻炼目录来处理html。我已经能够将html附加到已创建的页面并通过.page()函数获取jquery mobile来更改标记。

但是,我希望能够创建新的jq移动页面。我可以使用data-role = page将代码注入到div中,并在其上调用.page(),这一切都很好。但是将一个完全制作的页面添加到正文中是行不通的。

编辑: 这个问题和我的回答是指 jquery mobile alpha 3

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