【发布时间】:2014-04-13 07:45:46
【问题描述】:
如 iOS7 上 Safari 中的 here 所述 - 如果您从屏幕左侧滑入,则会触发历史记录返回事件,就像用户单击返回按钮一样。
jQuery Mobile 的默认行为是在返回上一页时反转用于到达特定页面的转换。这在使用 < 和 > 按钮时效果很好,但从左侧滑入时看起来很糟糕。
有没有办法使用 jQuery mobile 完全禁用“反向”方向的转换?
【问题讨论】:
标签: jquery-mobile
如 iOS7 上 Safari 中的 here 所述 - 如果您从屏幕左侧滑入,则会触发历史记录返回事件,就像用户单击返回按钮一样。
jQuery Mobile 的默认行为是在返回上一页时反转用于到达特定页面的转换。这在使用 < 和 > 按钮时效果很好,但从左侧滑入时看起来很糟糕。
有没有办法使用 jQuery mobile 完全禁用“反向”方向的转换?
【问题讨论】:
标签: jquery-mobile
只需在页面小部件上捕获pagecontainerbeforetransition 事件。
然后您可以查看ui.options.reverse 并取消转换。如果你愿意,你可以检测到 iOS7,但我想我只会把这个给我所有的访问者。
$(document).on("pagecontainerbeforetransition", function (event, ui)
{
if (ui.options.reverse == true)
{
ui.options.transition = "none";
}
});
这是一个典型的ui.options 对象的示例。
{"reverse":true,"changeHash":false,"fromHashChange":true,"showLoadMsg":true,
"allowSamePageTransition":false,"transition":"none"}
出于某种原因reverse 似乎总是正确的,即使在向前导航时也是如此。可能是但是,但我还是决定检查一下。
【讨论】:
navigate事件,如果方向是back,设置ui.options.transitiion为none。 jsfiddle.net/Palestinian/7Gy3S
data-rel=back 有链接,方向将是back。