首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有jQuery手机的Android Phonegap -返回按钮会滚动到页面顶部

问带有jQuery手机的Android Phonegap -返回按钮会滚动到页面顶部
EN

Stack Overflow用户
提问于 2013-03-04 09:33:57
回答 2查看 1.3K关注 0票数 1

我的移动应用程序在iOS上的表现与预期不谋而合,但在安卓系统中,在点击新页面链接之前滚动的任何溢出div,在返回时都会滚动回到顶部。页面似乎没有重新加载,只是在转换完成之前滚动到顶部。

我似乎遇到了here讨论的问题。张贴在那里的建议的变通办法都没有帮助。

我使用的是Phonegap2.0.0和jQuery Mobile1.2.0

有人有解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-05 01:02:26

禁用back按钮对我来说不是一个可行的解决方案,而且由于在jQM框架中使用了history.back()来进行后退导航,因此同样的结果仍然存在。即使使用Phonegap的navigator.history.back()替代方法也会产生负面影响。最后,我添加了这样的处理程序,这是可以改进的(欢迎提出建议):

代码语言:javascript
复制
/* 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
});
票数 0
EN

Stack Overflow用户

发布于 2013-03-04 14:10:31

安卓的后退按钮在PhoneGap上搞得一团糟。我所做的只是禁用了Android中的后退按钮。

代码语言:javascript
复制
$(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");
}

这是我选择的方法。如果你想使用后退按钮,那么这个解决方案不适合你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15193186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档