呀。听起来很奇怪。
我有一个在iOS6(iPhone5)上运行的PhoneGap 2.1.0应用程序,不幸的是我无法在另一台设备上测试(我回家后会检查模拟器)。
使用案例 用户将文本数据键入INPUT元素,该元素跨越INPUT元素的可见宽度,并且必须退格以纠正键入时的错误。
预期: 最后一个字符已删除。
实际: 删除最后一个字符,仅当删除的文本超出INPUT元素的可见边界时,“position:fixed;”应用程序头重定位到文本输入光标的位置。
这是一个屏幕:(抱歉堆栈不允许我发布imgs) issue screenshot
有人有什么想法吗?如果你需要HTML和/或CSS的特定部分来呈现这个,请告诉我,我会尽快发布。
值得注意的是:
想法?
答案 0 :(得分:4)
此解决方法适用于我。
将这些添加到受影响的输入中:
-webkit-transform: translate3d(0,0,0);
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
-webkit-transform-style: flat;
答案 1 :(得分:3)
你可以使用Jquery通过每次按下退格时隐藏标题来绕过它,然后再次显示它。
$('#input_field').keyup(function(e) {
if (e.keyCode === 8) {
return $('#header').hide(0, function() {
return $(this).show();
});
}
});
答案 2 :(得分:1)
我的团队在IOS6 +固定标题移动中遇到类似的退格问题。我们找不到真正的解决方案,但作为一种解决方法,我们使用modernizr测试溢出内容滚动并将滚动应用于页面div应用于头部。
Modernizr.addTest('overflowscrolling', function(){
return Modernizr.testAllProps("overflowScrolling");
});
CSS
.overflowscrolling .app-header {
position: absolute;
}
.overflowscrolling #app-page {
overflow: scroll;
position:absolute;
top:0px;
bottom: 0px;
left: 0px;
right: 0px;
-webkit-overflow-scrolling: touch;
}