微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 使用jquery mobile克隆页面

我正在从一个数组中构建一个jQuery mobile中的项目列表,并对它们进行分页. PHP通过wordpress函数包含页面的页眉和页脚.基本上我正在做的是计算我需要容纳数组中的元素的页数,然后克隆页面元素多次,并循环它们以向每个元素添加元素.在每个页面的末尾,我将上一个和下一个按钮放在一起.

问题是按钮根本不会改变页面.

页面元素如下所示:

<div data-role="page" id="press-media-page">

    <?PHP get_template_part("loop", "header"); ?>

    <div data-role="content">
        <h1>Press &amp; 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 举报,一经查实,本站将立刻删除。

相关推荐