【问题标题】:Phonegap - Unable to type in a textbox within an iframe.Phonegap - 无法在 iframe 中输入文本框。
【发布时间】:2015-03-14 10:32:10
【问题描述】:

我有一个 Phonegap 应用程序,它是一个简单的 iframe,在其中提供一个网站。有一个非常奇怪的问题 - 您可以输入某个输入字段(在本例中为 textarea)......直到您再次触摸该 textarea。然后,您无法再次输入它(即使从技术上讲您应该仍然有焦点),直到您触摸其他地方,然后回到文本区域。

这似乎只发生在这一文本区域中。

我认为这是应用程序特有的问题 - 直到一个完全不同的应用程序(同样,服务于网站的 phonegap iframe)也出现了同样的问题。在第二个实例中,它是纯文本输入,而不是文本区域。

以前有人遇到过这种情况吗?知道什么可能导致这个问题吗?

我们没有 -webkit-user-select: none;我们 CSS 中的任何地方 - 这似乎是一个常见的相关问题。

【问题讨论】:

  • 您是否在使用任何 JavaScript 库,例如我们的 iscroll?或者您是否使用 javascript 在文本字段/文本区域中进行验证?如果您将加载的相同代码放在 iframe 上,但在应用程序内部,它是否也有错误?使用 iframe 不是一个好主意
  • 此文本框未进行验证。我知道使用 iframe 并不是最好的,但目标是利用现有的 Web 应用程序(响应式)并从中制作应用程序。这似乎是最简单的方法。
  • stackoverflow.com/a/34731528/5552799这条评论帮我解决了问题

标签: cordova


【解决方案1】:

所以,这似乎是与使用 iFrame 相关的问题。我刚刚尝试使用 inAppBrowser (https://github.com/apache/cordova-plugin-inappbrowser) 而不是 iframe,它就像一个魅力。还有,好像性能好一点!

【讨论】:

    【解决方案2】:

    https://stackoverflow.com/a/34731528/5552799

    这条评论帮助了我,为你所有的输入元素添加一个 keydown 事件

    var el = $("#input")
    
    el.on("keydown", function () {
        window.focus()
        setTimeout(function () {
            el.focus()
        }, 0)
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 2017-04-12
      相关资源
      最近更新 更多