Javascript 使用jquery mobile克隆页面
我正在从一个数组中构建jQuery mobile中的项目列表,并对它们进行分页。PHP通过wordpress函数包含页面的页眉和页脚。基本上,我所做的是计算容纳数组中元素所需的页数,然后多次克隆页面元素,并循环它们以将元素添加到每个元素中。在每一页的末尾,我都会放置“上一页”和“下一页”按钮 问题是这些按钮根本不会改变页面 页面元素如下所示:Javascript 使用jquery mobile克隆页面,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我正在从一个数组中构建jQuery mobile中的项目列表,并对它们进行分页。PHP通过wordpress函数包含页面的页眉和页脚。基本上,我所做的是计算容纳数组中元素所需的页数,然后多次克隆页面元素,并循环它们以将元素添加到每个元素中。在每一页的末尾,我都会放置“上一页”和“下一页”按钮 问题是这些按钮根本不会改变页面 页面元素如下所示: <div data-role="page" id="press-media-page"> <?php get_template
<div data-role="page" id="press-media-page">
<?php get_template_part("loop", "header"); ?>
<div data-role="content">
<h1>Press & Media</h1>
</div>
<?php get_template_part("loop", "footer"); ?>
</div>
然后在添加元素和按钮后,将其附加到文档中:
$.mobile.pageContainer.append(newPage);
创建页面后,我在页面上循环并触发创建事件:
$("#press-media-page").trigger("create");
for (var i = 1; i < pages; i++)
$("#press-media-page-" + i).trigger("create");
$(“#新闻媒体页”).trigger(“创建”);
对于(变量i=1;i
页面显示在文档中的正确位置,按钮链接到正确的页面ID,但遗憾的是它们无法导航
我要怎么做才能让它工作
编辑
以下是我创建按钮的方式:
if (pageNumber > 0)
navButtonGrid.left.append("<a>").attr({
"href": "#press-media-page" + ((pageNumber > 1) ? "-" + (pageNumber - 1) : ""),
"data-role": "button",
"data-icon": "arrow-l",
"data-iconpos": "left"
}).text("View Newer");
if (pageNumber < totalPages - 1)
navButtonGrid.right.append("<a>").attr({
"href": "#press-media-page-" + (pageNumber + 1),
"data-role": "button",
"data-icon": "arrow-r",
"data-iconpos": "right"
}).text("View Older");
if(页码>0)
navButtonGrid.left.append(“”)attr({
“href”:“#新闻媒体页面”+((页码>1)?”-“+(页码-1):”,
“数据角色”:“按钮”,
“数据图标”:“箭头-l”,
“数据图标”:“左”
}).文本(“视图更新”);
如果(页码<总页数-1)
navButtonGrid.right.append(“”)attr({
“href”:“#新闻媒体页-”+(页码+1),
“数据角色”:“按钮”,
“数据图标”:“箭头-r”,
“数据iconpos”:“正确”
}).文本(“查看旧版本”);
我没有从按钮中接管任何事件,只是使用jQuery mobile的默认链接劫持好吧,所以这是一个愚蠢的错误:
navButtonGrid.left.append("<a>").attr({ //...
已经解决了问题。您可以发布一个按钮代码的示例吗?完成,尽管我没有连接到任何事件,并且在添加$(“#press media page-”+I).page()而不是$(“#press media page-”+I).trigger(“创建”)后,标记看起来是正确的;您的data role=“page”div在呈现后是否有数据url?@bmurmistro我正在明确设置数据url。在它保留我从中克隆的页面的数据url之前
navButtonGrid.left.append("<a>").attr({ //...
navButtonGrid.left.append($("<a>").attr({ /* ... */ }));