为什么Safari Mobile在iOS 8上处理许多输入字段时遇到问题

时间:2014-10-01 19:57:12

标签: ios ipad ios8 mobile-safari

iOS 8.0 / 8.0.1 / 8.0.2存在此问题。

我有一个包含70个简单文本输入的页面:

<input class=""  type="text">

在iOS 7上,页面没有问题。但是在iOS 8上,选择并输入字段会导致iPad变得缓慢且滞后。

您可以在此jsFiddle

中查看问题示例

有没有人知道解决这个问题???

3 个答案:

答案 0 :(得分:11)

似乎问题与作为文档或表单一部分的文本输入数量有关。

我&#34;修复&#34;放置&lt; form&gt;的问题围绕小组文本输入的标签。

<form>
  <input type="text">
  <input type="text">
  <input type="text">
</form>

<form>
  <input type="text">
  <input type="text">
  <input type="text">
</form>

在某些情况下,我在&lt; td&gt;中有大型表格,其中包含单独的文字字段。元素。你不能包括&lt; tr&gt;或者&lt; td&gt;表单中的元素,但必须包括整个&lt; table&gt;或个人的内容&lt; td&gt;元素。在那些情况下,我不得不放置一个&lt; form&gt;每个文本输入周围的元素。

<table>
  <tr>
    <td>
      <form>
        <input type="text">
      </form>
    </td>
    <td>
      <form>
        <input type="text">
      </form>
    </td>
  </tr>
  etc....
</table>

答案 1 :(得分:3)

更新: 这似乎已在iOS 8.1.1测试版中得到解决。根据评论,它似乎无法修复。 :(


它也在8.1测试版中。你应该file a radar

某些内容导致整个网页重新加载或Safari挂起。例如,访问http://getemoji.com/并开始在搜索框中输入内容。如果没有重新加载页面,您无法在iOS 8.x设备上执行此操作。

值得注意的是,Chrome和Mercury工作正常,因此您可以建议用户根据UIWebView切换到第三方浏览器。 (我没有测试WKWebView。)

答案 2 :(得分:3)

我一直在努力解决这个问题很长时间,直到我在此页面上找到解决方案。谢谢!这是 Design Navigator 建议的解决方案实现:

$(document).ready(function(){    
    var isSafari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 && navigator.userAgent && !navigator.userAgent.match('CriOS');
    if (isSafari){
      $('#container input[type="text"]').wrap('<form />');
    }
}