使用iFrame表格后,iPhone数字键盘不断弹出(iOS Safari)

nrl*_*rlr 7 javascript mobile-safari ios stripe-payments reactjs

我们的React Web应用程序使用Stripe元素表单进行结帐(有关详细信息,请参阅此处).它将iFrame表单注入网站.正如所料,在iOS Safari上使用该网站时,当用户专注于Stripe输入时,会弹出信用卡键盘.

但事情出了问题.首先,如果用户点击页面上的其他位置,则键盘保持向上.这不是一个大问题,因为您可以点击"完成"来关闭键盘.

但随后 - 用户点击网站的任何时候,键盘弹出.点击"完成"没有任何作用 - 在下一次点击时,它会再次弹出.在用户关注另一个输入字段后,它最终停止.

当React组件卸载时,我尝试在Stripe元素上手动调用blur(),但没有运气.令人难以置信的是,您可以使用Xcode模拟器复制此问题.h*ck中发生了什么?

new*_*our 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>
Run Code Online (Sandbox Code Playgroud)

在 Safari 或 Chrome 上不会发生这种情况。