我正在从一个数组中构建一个jQuery mobile中的项目列表,并对它们进行分页. PHP通过wordpress函数包含页面的页眉和页脚.基本上我正在做的是计算我需要容纳数组中的元素的页数,然后克隆页面元素多次,并循环它们以向每个元素添加元素.在每个页面的末尾,我将上一个和下一个按钮放在一起.
问题是按钮根本不会改变页面.
页面元素如下所示:
<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>
要创建每个页面:
newPage = $("#press-media-page").clone().attr({
"id": "press-media-page-" + pageNumber,
"data-url": "press-media-page-" + pageNumber
}).page();
然后在添加元素和按钮后,将其附加到文档:
$.mobile.pageContainer.append(newPage);
在我创建页面之后,我遍历它们并触发create事件:
$("#press-media-page").trigger("create");
for (var i = 1; i < pages; i++)
$("#press-media-page-" + i).trigger("create");
页面显示在文档的正确位置,按钮链接到右页面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");
我没有从按钮接管任何事件,只是使用jQuery mobile的默认链接劫持
解决方法:
navButtonGrid.left.append("<a>").attr({ //...
我追加了一个< a>标签,但后来我仍然在使用navButtonGrid.left元素,这是一个ui-block div.把它改成
navButtonGrid.left.append($("<a>").attr({ /* ... */ }));
解决了这个问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。