iOS Safari 输入文本消失问题

6
我在ios safari中输入时遇到了奇怪的问题(如此显示)
该输入是Angular应用程序的一部分,并具有ng-length和ng-pattern的基本检查。最初,当您键入所有字符时都会显示,但是如果您在页面上玩耍一下,比如轻敲、向上和向下滚动,然后再次轻敲,只有您键入的前两个字母将显示出来,其余的将不可见,但光标仍然会移动。
该输入还使用自定义Web字体,但删除它并没有解决问题。
这是已知的错误吗?是否有解决方法?

我曾经遇到过Safari自动填充的问题。你知道你的浏览器是否正在为你自动填充吗?这是一个线程:https://dev59.com/oWUp5IYBdhLWcg3w5KrV - panzhuli
我在输入框中拥有以下设置:autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" - Alex Freeman
2个回答

5

你可以添加

transform: translate3d(0, 0, 0);

将其应用到输入框的样式。

这将形成一个新的 层叠上下文 并解决该问题。


这是我第二次解决这个问题。transform: translateZ(0px)之前有效,但现在似乎不行了。在iOS 12.4上的Safari 12.1中,translate3d起了作用。 - Jette

2
我找到了问题所在:一个被设置为绝对定位且隐藏的 iframe,我通过监听其 resize 事件来监测 div 的宽度。将其 position:absolute 属性移除后,问题得以解决。

嘿,我也遇到了同样的问题。你知道为什么这会影响iOS设备吗?我已经将我的CSS代码注释掉了。 - software is fun
我不知道为什么会发生这种情况。在iOS Safari中有很多毫无意义的错误。 - Alex Freeman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接