我有一个包含70个简单文本输入框的页面:
<input class="" type="text">
iOS 7系统没有问题。但在iOS 8上,选择和输入字段会导致iPad变得缓慢和卡顿。
您可以在jsFiddle中查看此问题的示例。
有人知道如何解决这个问题吗?
我有一个包含70个简单文本输入框的页面:
<input class="" type="text">
iOS 7系统没有问题。但在iOS 8上,选择和输入字段会导致iPad变得缓慢和卡顿。
您可以在jsFiddle中查看此问题的示例。
有人知道如何解决这个问题吗?
看起来问题与文档或表单中的文本输入数量有关。
我通过在少量的文本输入周围放置<form>标签来“修复”该问题。
<form>
<input type="text">
<input type="text">
<input type="text">
</form>
<form>
<input type="text">
<input type="text">
<input type="text">
</form>
在某些情况下,我有一些带有单独文本字段的大表格,这些文本字段位于<td>元素中。您不能在表单中包含<tr>或<td>元素,而是必须包含整个<table>或单个<td>元素的内容。在这些情况下,我不得不在每个文本输入周围放置一个<form>元素。
<table>
<tr>
<td>
<form>
<input type="text">
</form>
</td>
<td>
<form>
<input type="text">
</form>
</td>
</tr>
etc....
</table>
更新:这个问题在iOS 8.1.1 beta版本中似乎已经解决了。根据评论,看起来这个问题还没有被修复。:(
这个问题也存在于8.1 beta版本中。你应该提交一个radar报告。
一些东西会导致整个网页重新加载或Safari挂起。例如,访问http://getemoji.com/并开始在搜索框中输入。在iOS 8.x设备上,你无法完成此操作而不重新加载页面。
值得注意的是,Chrome和Mercury都可以正常工作,因此你可以建议用户切换到基于UIWebView
的第三方浏览器。(我没有测试过WKWebView
。)
我在这个问题上挣扎了很多小时,直到在这个页面上找到了解决方案。谢谢!这是我根据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 />');
}
}