在关注输入时,iOS中忽略了固定/绝对定位
我正在使用Phonegap构建一个应用程序,我有一个标题,我已将其固定到视口顶部。
header { position: fixed; top: 0; width: 100%; height: 30px; background-color: red; z-index: 100; }
除非我点击输入字段并且键盘向上滑动,否则这可以按我的方式工作。 然后完全放弃定位。 标题在可见视图之外向上滑动。 它再次关闭键盘后返回原位。
我已经读过一些移动浏览器不关心定位固定和绝对定位,以确保可能很小的屏幕没有被固定元素覆盖。 这是真的?
有没有解决的办法?
我已经尝试在输入聚焦时将标题设置为绝对。 我在这里读到了它, http://dansajin.com/2012/12/07/fix-position-fixed/ 。 但是,它似乎对我不起作用。
在虚拟键盘方面,PhoneGap对iOS固定定位的实现很差。 我已经尝试了许多建议的解决方案,包括你链接的解决方案,但没有一个能够令人满意地工作。 禁用KeyboardShrinksView会导致输入字段隐藏在键盘下方。
我最终采用了这种解决方法,只需在键盘滑入视图时隐藏固定标题,并在键盘滑出视图后再次显示。 我等待一个更完整的解决方案,但这个解决方案的好处是干净可靠。 show()上的10 ms延迟足以防止在键盘向下滑动时标题在错误的位置暂时闪烁。 如果用户直接从一个输入字段转到下一个输入字段,则hide()上的20毫秒延迟可防止标题在错误的位置弹出。
$(document).on('focus','input, textarea, select',function() { setTimeout(function() { $('header').hide(); },20); }); $(document).on('blur','input, textarea, select',function() { setTimeout(function() { $('header').show(); },10); });
- 在MonkeyTalk IDE Javascript文件中logging一个variables的值
- UIWebView无法正确加载JavaScript – 嵌入式Facebookpost
- 一块免费的源代码
- JavaScriptCore – 将函数作为parameter passing给ObjC
- Android OS / iOS / debian linux中的事件(点击Enter键)
- 如何在iOS中的Web套接字中看到乒乓球
- 用javascript加载不同的CSS样式表
- 在iOS电子书阅读器中使用execCommand突出显示HTML的任何替代方法
- 如何一起使用angularjs / javascript和objective c?