javascript - JQuery 手机 : Disable page transitions only on back/forward buttons

标签 javascript jquery ios jquery-mobile back-button

我是 JQuery Mobile (1.4.5) 的新手,刚刚用它完成了我的第一个项目。

唯一的问题是 iOS7+ 上的页面转换(在我的例子中是幻灯片转换)。虽然它们在站点和后退/前进按钮中工作正常,但如果有人滑动 iOS 设备的左边缘或右边缘以浏览浏览器历史记录,则会出现双重转换,因为 native iOS 幻灯片和 JQM 的幻灯片是连续发生的。这似乎是任何页面转换的问题(当然“无”除外)。它甚至发生在 JQuery Mobile 的演示页面上。我看到其他人报告了这个问题,但没有可靠的解决方案。

由于目前在 iOS Safari 中无法检测历史滑动事件,我想下一个最好的办法是关闭转换(设置为“无”),但前提是后退/前进事件被触发(我也假设适用于 iOS7+ 的左/右滑动)。我知道我会失去后退/前进按钮上的转换,但它们仍然可以在站点内工作,所以这是我愿意做出的妥协。但是,我不确定在 JQM 的代码中去哪里才能实现这一目标。

TL;DR:有没有一种方法可以仅在按下浏览器的后退(和/或前进)按钮时将 JQuery Mobile 页面转换设置为“无”?

最佳答案

根据这个article , 是的你可以。使用浏览器的按钮时,options.direction 返回backforward。然后将 options.transition 更改为 none

$(document).on("pagecontainerbeforechange", function (e, data) {
  if (data.options.direction == "back" || data.options.direction == "forward") {
      data.options.transition = "none";
  }
});

关于javascript - JQuery 手机 : Disable page transitions only on back/forward buttons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28110407/

相关文章:

javascript - 逐字淡入文本,在当前完全可见之前开始淡出下一个单词

jquery - 带有自定义背景多色 css/jquery 的进度条

ios - Swift 2.2 - 计算 UIImage 中的黑色像素

javascript - getSelection 在 iOS 12 中无法正常工作

javascript - 使用从内容加载的 SVG 样式表

javascript - 如何确定函数是其方法的对象?

javascript - 无法在 native javascript 中获取类或标签元素

jquery - 在元素上使用 jQuery fadeIn/fadeOut 会扰乱其定位

Objective C 中的 iOS 属性 Observer(字符串或字典)

ios - 在 iOS 应用程序中计算 G - Force