JQuery 移动设备:仅在 back/forward 按钮上禁用页面转换
JQuery Mobile: Disable page transitions only on back/forward buttons
我是 JQuery Mobile (1.4.5) 的新手,刚刚用它完成了我的第一个项目。
唯一的问题是 iOS7+ 上的页面转换(在我的例子中是幻灯片转换)。虽然它们在站点和 back/forward 按钮中工作正常,但如果有人滑动 iOS 设备的左边缘或右边缘来浏览浏览器历史记录,则会出现双重转换,因为本机 iOS 幻灯片JQM的幻灯片接连发生。这似乎是任何页面转换的问题(当然 "none" 除外)。它甚至发生在 JQuery Mobile 的演示页面上。我看到其他人报告了这个问题,但没有可靠的解决方案。
由于目前 iOS Safari 无法检测历史滑动事件,我想下一个最好的办法是关闭转换(设置为 'none'),但前提是 [=23] =] 事件被触发(我假设这也适用于 iOS7+ 的滑动 left/right)。我知道我会失去 back/forward 按钮上的转换,但它们仍然可以在站点内工作,所以这是我愿意做出的妥协。但是我不确定在 JQM 的代码中去哪里才能实现这一点。
TL;DR:有没有办法设置 JQuery 移动页面仅在按下浏览器的后退(and/or 前进)按钮时转换为 'none'?
根据这个 article,是的,你可以。使用浏览器按钮时,options.direction
returns back
或 forward
。然后将 options.transition
更改为 none
.
$(document).on("pagecontainerbeforechange", function (e, data) {
if (data.options.direction == "back" || data.options.direction == "forward") {
data.options.transition = "none";
}
});
我是 JQuery Mobile (1.4.5) 的新手,刚刚用它完成了我的第一个项目。
唯一的问题是 iOS7+ 上的页面转换(在我的例子中是幻灯片转换)。虽然它们在站点和 back/forward 按钮中工作正常,但如果有人滑动 iOS 设备的左边缘或右边缘来浏览浏览器历史记录,则会出现双重转换,因为本机 iOS 幻灯片JQM的幻灯片接连发生。这似乎是任何页面转换的问题(当然 "none" 除外)。它甚至发生在 JQuery Mobile 的演示页面上。我看到其他人报告了这个问题,但没有可靠的解决方案。
由于目前 iOS Safari 无法检测历史滑动事件,我想下一个最好的办法是关闭转换(设置为 'none'),但前提是 [=23] =] 事件被触发(我假设这也适用于 iOS7+ 的滑动 left/right)。我知道我会失去 back/forward 按钮上的转换,但它们仍然可以在站点内工作,所以这是我愿意做出的妥协。但是我不确定在 JQM 的代码中去哪里才能实现这一点。
TL;DR:有没有办法设置 JQuery 移动页面仅在按下浏览器的后退(and/or 前进)按钮时转换为 'none'?
根据这个 article,是的,你可以。使用浏览器按钮时,options.direction
returns back
或 forward
。然后将 options.transition
更改为 none
.
$(document).on("pagecontainerbeforechange", function (e, data) {
if (data.options.direction == "back" || data.options.direction == "forward") {
data.options.transition = "none";
}
});