jQuery Mobile:防止节点在历史记录上被删除



我有这个代码

$(function() {
  $(window).on("swipeleft", jqmForward).on("swiperight", jqmBack);
});
function jqmBack(e) {
  var prevpage = $('div.ui-page-active').prevAll('div[data-role="page"]');
  if (prevpage.length > 0)
    $.mobile.changePage($(prevpage[0]), { transition: "slide", reverse: true }, true, true);
}
function jqmForward(e) {
  var nextpage = $('div.ui-page-active').nextAll('div[data-role="page"]');
  if (nextpage.length > 0)
    $.mobile.changePage($(nextpage[0]), "slide", false, true);
}

但是转发函数永远不起作用,因为显然 jqm 会在您返回时删除最新的div.ui-page

有没有办法保持div.ui-page让你在意外向右滑动(即后退)后继续前进?

我正在使用jQuery Mobile 1.4.0

解决方案是拥有

$(function () {
  $.mobile.page.prototype.options.domCache = true;
});

(请参阅 DOM 中的缓存页面)。但这又引发了另一个问题。

最新更新