如何在Jquery Mobile中创建一个指向data.prevPage的按钮

how to create a button which leads to data.prevPage in Jquery Mobile?

本文关键字:一个 data 按钮 prevPage Jquery Mobile 创建      更新时间:2023-09-26

我想手动创建一个指向上一页的按钮。

这都没关系:

newButton = $("<a href='" + $prevPage + "' title='back' data-rel='back'>" + someText + "</a>").buttonMarkup({
    shadow: true,
    corners: true,
    theme: "a",
    iconpos: "left",
    icon: 'arrow-l'
    });

我的问题是设置$prevPage变量。JQM 提供的数据对象包含一个 prevPage 对象,所以我的问题:

如何从此对象中提取 URL 或哈希更改?

大多数使用这样的东西 -

<a href="" data-role="button" data-icon="back" onclick="history.go(-1);">Back</a>

您不必使用此方法提取哈希。

尝试使用history.back()方法:

<a href='javascript:history.back();' title='back' data-rel='back'>

pagebeforeshow 文档并没有说很多关于 prevPage 对象的内容,而且它很重要,所以他们可能应该更新它,但是在 Chrome 的调试器中进行了一些挖掘后,我相信我已经找到了您(和我)正在寻找的内容。

prevPage在技术上是一个HTMLDivElements数组。最新的是第 0 个元素,因此为了访问对象本身,您需要 data.prevPage[0] .从那里您可以访问上一页上的几乎所有内容(data.prevPage[0].innerHTML实际上是整个页面的副本 - 不要问我为什么)。最简单的方法可能是获取前一页的 ID 或 data.prevPage[0].id ,并对其进行处理(因为您应该从 ID 中知道页面标题是什么)。

如果没有,您可以抓取标题本身的内部 HTML。整个代码块如下所示:

$('#yourPage').live('pagebeforeshow', function(event, data) {
  var ID = data.prevPage[0].id;
  // do something with ID
});