我们的React Web应用程序使用Stripe元素表单进行结帐(有关详细信息,请参阅here)。它将iFrame表单注入网站。正如所料,在iOS Safari上使用该网站时,当用户专注于Stripe输入时,会弹出信用卡键盘。
但事情出了问题。首先,如果用户点击页面上的其他位置,则键盘保持向上。不是一个大问题,因为你可以点击完成'解雇键盘。
但随后 - 当用户点击网站时,任何时候都会弹出键盘。点击完成'没有做任何事 - 在下一次点击时,它会再次弹出。在用户关注另一个输入字段后,它最终会停止。
当React组件卸载时,我尝试在Stripe元素上手动调用blur(),但没有运气。令人难以置信的是,您可以使用Xcode模拟器复制此问题。 h * ck正在发生什么?
答案 0 :(得分:0)
您是否有机会在iOS上使用Firefox?
我只是遇到了这个问题:我会单击一个输入框,然后在键盘上单击“ x”或“完成”,然后每当我单击其他任何位置时,键盘都会弹出。
模拟它的代码在这里
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>
<body>
<div>
<input value="hiya">
</div>
<div>Click here after clicking the input and the keyboard will come back.</div>
</body>
</html>
在Safari或Chrome上不会发生。