Android Phonegap与jQuery移动-后退按钮的结果滚动到页面的顶部
Android Phonegap with jQuery Mobile - back button results in scroll to top of page
我的手机应用程序在iOS上的表现与预期一样,但在android下,在点击新页面链接之前滚动的任何溢出div都会在返回时滚动回顶部。页面似乎没有被重新加载,只是在过渡完成之前滚动到顶部。
我似乎正在经历这里讨论的问题。所有建议的解决方法都没有帮助。
我使用Phonegap 2.0.0和jQuery Mobile 1.2.0
谁有解决办法?
Android的返回键在PhoneGap上很混乱。我所做的只是禁用了Android的后退键。
$(function(){
document.addEventListener("deviceready", onDeviceReady, false);
})
// PhoneGap is loaded and it is now safe to call PhoneGap methods
//
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
}
// Handle the back button
//
function onBackKeyDown() {
console.log("Back button pressed but nothing happened");
}
这是我选择的方法。如果你想使用后退按钮,那么这个解决方案不适合你。
禁用后退按钮对我来说不是一个可行的解决方案,并且由于history.back()在jQM框架中用于后退导航,因此无论如何都存在相同的结果。即使使用Phonegap的navigator.history.back()也会产生不良影响。最后,我添加了这样的处理程序,当然可以改进(欢迎建议):
/* ANDROID WORKAROUND */
$('div').on('pagebeforehide', function(event, ui) {
var scrollPos = $(this).find('.scrolldiv').scrollTop();
$(this).jqmData('scrollPos',scrollPos );
});
$('div').on('pagebeforeshow', function(event, ui) {
var page = $(this);
setTimeout(function(){
//using animate becuse I could not get scrollTo() to work (?)
$(page).find('.scrolldiv').animate({scrollTop: $(page).jqmData('scrollPos')}, 0);
},1); //add it to the JS process stack
});
相关文章:
- 奇怪的Javascript结果
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- Javascript(jQuery)给了我奇怪的结果
- 如何在使用函数document.write()打印最终结果后,使用Javascript滚动到页面顶部
- 无限滚动在IE中返回多个结果
- jQueryUI 自动完成结果列表在尝试滚动时会弹回顶部
- PHP无限滚动拉取随机结果
- GWT无限滚动,丢弃列表结果的开头
- 用AngularJS搜索Flickr,结果不允许我一直滚动到顶部
- AngularJS ui-utils ui.滚动条不显示结果
- 我需要向下滚动,直到在电子商务网站使用硒webdriver完成搜索结果
- 当我用Javascript向下滚动结果时,我的代码出了什么问题?
- 如何通过JavaScript添加无限滚动结果的行为
- Android Phonegap与jQuery移动-后退按钮的结果滚动到页面的顶部
- 在Backbone.js视图中等待“无限滚动”结果
- 将无限滚动调用的结果附加到AngularJS中默认显示的结果
- 在移动设备上向下滚动到搜索结果页面
- 当滚动到窗口顶部时,加载结果jQuery