位置:修复了在iPhone上打开“选择”元素时DIV移动的问题

position:fixed divs move when opening a 'select' element on iphone?

本文关键字:元素 选择 DIV 问题 移动 iPhone 位置      更新时间:2023-09-26

我的页面中有各种固定的div,如标题,导航栏等。

它们在移动设备上工作正常,直到我单击以在iPhone上打开选择表单元素。

就好像标题不再固定,实际上变得更像 position:absolute ,它随着内容滚动。

这特别烦人,因为当您在iPhone上打开选择时,它会稍微滚动页面以确保选择在选项向上滑动时保持在视图中,这意味着我的固定标题会四处移动。

有人知道如何解决这个问题吗? 可以使用jQuery/javascript来解决

大多数 Web 浏览器不支持 CSS 属性 position:fixed; 。我建议您使用该 http://jquerymobile.com/来获得完整的移动 UI 解决方案。

*注意:据报道,iOS 5和Android 4现在都有位置:固定支持。

设法用下面的jquery解决了这个问题,它只是在选择表单元素时停止内容滚动。由于某种原因,您必须有 1ms 的延迟才能工作。也许这会帮助其他人:

$('input, select, textarea').on('focus',function() {
    var curScroll = $(window).scrollTop();
    $('html, body').animate({scrollTop:curScroll},1);
});