Html Android浏览器/三星Galaxy SII在web表单上出现滚动错误。选择列表复选框不滚动

Html Android浏览器/三星Galaxy SII在web表单上出现滚动错误。选择列表复选框不滚动,html,android-4.0-ice-cream-sandwich,galaxy,android-browser,samsung-mobile,Html,Android 4.0 Ice Cream Sandwich,Galaxy,Android Browser,Samsung Mobile,编辑:我上传了一段视频到youtube,在这里演示了这个bug: 我在运行安卓4.03 ICS的三星Galaxy S2上测试我的新web应用程序时发现了一个非常奇怪的错误 发生的情况是,当您在默认web浏览器中加载表单,然后向下滚动页面时,即使表单元素本身已在屏幕上向上滚动,hitbox/可触摸区域似乎仍停留在页面首次加载时屏幕上的位置 就我所能提供的少数测试设备而言,我认为这只会发生在三星Galaxy S2上,因为我在Android模拟器中使用了相同版本的Android,但无法复制问题。我知道

编辑:我上传了一段视频到youtube,在这里演示了这个bug:

我在运行安卓4.03 ICS的三星Galaxy S2上测试我的新web应用程序时发现了一个非常奇怪的错误

发生的情况是,当您在默认web浏览器中加载表单,然后向下滚动页面时,即使表单元素本身已在屏幕上向上滚动,hitbox/可触摸区域似乎仍停留在页面首次加载时屏幕上的位置

就我所能提供的少数测试设备而言,我认为这只会发生在三星Galaxy S2上,因为我在Android模拟器中使用了相同版本的Android,但无法复制问题。我知道这使得它成为了一个非常特殊的用户群,存在问题。然而,上次我检查Galaxy s2时,它是我所在国家澳大利亚最流行的Android手机,所以如果能找到一个解决方案,那就太好了

我已经创建了一个非常简单的页面来演示这一点

您可以通过执行以下操作来复制问题:

将页面加载到Galaxy S2上 滚动浏览器,使页面完全填满屏幕,地址栏刚好位于屏幕顶部。 在选择框所在的位置,将手指放在屏幕一侧,作为选择列表所在位置的标记。 向下滚动页面任意距离,同时仍保持选择列表在屏幕上,然后触摸选择列表原来所在的空白处,屏幕上应显示选项。可能需要几次尝试,但它会发生。 现在我知道您认为这是一个很难复制的过程,而且这种情况很可能很少发生,但是在我为客户机构建的表单上,由于元素的位置,hitbox总是与表单的submit按钮重叠,因此很难点击submit按钮。如果点击框重叠,选择列表还会从其他选择列表中窃取触摸,从而在触摸时显示错误的选项

我已经尝试了很多方法,但到目前为止,我发现唯一的解决方法是使用touchstart事件来触发我的提交按钮,而不是单击事件。这似乎发生在选择列表的单击事件之前,并阻止它首先进入,但这远远不理想,也不能阻止选择列表从页面上的其他元素窃取单击

我还考虑使用我自己的jquery插件,将选择列表放到屏幕外,然后通过触摸链接或其他东西触发它们的点击事件。如果是移动设备,则无论选择列表的位置如何,选项都会出现在屏幕上。这将是相当麻烦的,但是,我需要考虑到这将对来自pc或iPad的用户产生的影响,例如,在下拉列表中显示选项。对我来说,这听起来很有问题。甚至可能需要一些特定于Galaxy s2的浏览器/设备嗅探


除了不使用选择列表之外,还有人有真正的解决方法吗?

我认为这可能是一个可以用Jquery mobile解决的问题 这很简单,因为当你不使用它时,你的网站在移动浏览器上看起来很奇怪


可能这就是解决方案,这只是一个提示:

您是否碰巧使用了绝对定位?这将修复屏幕上的某个区域,而不是页面。

首先,我会将文档标题更新为正确的HTML5标题:

<!DOCTYPE html>

你找到解决这个问题的办法了吗?我也有同样的问题。不,我从来没有找到解决办法。在我工作的网站上,它经常出现在搜索页面的submit按钮上,因为这些项目在页面上的位置非常令人沮丧。我用touchstart触发submit操作,而不是像上面提到的那样单击该按钮,从而修复了这个问题,但我无法修复网站上可能发生的其他各种情况。不过,这似乎肯定是一个浏览器/操作系统错误。只能希望用户安装Chrome而不是默认浏览器。