17

我在 Chrome 中试过这个。有一个里面有很多文本的文本区域,最后编辑部分变得超级慢。光标和键盘输入响应开始爬行。

但是,如果我让 CSS 链接从to 移动<head>到之后</body>,它就不再变慢了。任何想法为什么会存在这种现象?

使用的代码:

<!DOCTYPE html>
<html>
    <head>
        <style>textarea {width: 400px; height: 400px;}</style>
        <link href="1.css" rel="stylesheet" type="text/css">
    </head>

    <body>
        <textarea name="content"></textarea>
    </body>
</html>

这个html实际上是由后端脚本生成的,它将用数千行文本填充textarea的内容。当用户向下滚动到内容的末尾时,这就是缓慢开始的地方。如果头部区域的css被移除,它会很快。

4

5 回答 5

28

设置spellcheckfalse

<textarea spellcheck="false"></textarea>

它可能会有所帮助。


根据奥古斯丁的建议,您也可以尝试添加这些人:

<textarea autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
于 2016-04-05T20:00:07.983 回答
4

我也偶然发现了这个问题,在我的情况下,只有铬浏览器受到影响。-> https://code.google.com/p/chromium/issues/detail?id=237433

于 2014-04-16T12:00:25.507 回答
3

我有同样的问题,但我用下一个属性解决了它ng-model-options="{ updateOn: 'blur' }"

尝试

<textarea ng-model-options="{ updateOn: 'blur' }"></textarea>

于 2016-12-07T15:25:31.400 回答
2

没有看到一个活生生的例子,很难说。但有几个可能的原因:

  • 您在 textarea 中使用自定义字体(font-face?SIFr?),由于需要额外的开销,这会减慢浏览器的速度。 特别是如果您使用的是 SIFr 之类的东西!
  • 验证问题:您的 HTML/CSS 是否有效?尝试通过 W3 验证运行它:(HTMLCSS)。
  • 您在页面上使用 JavaScript 吗?也许使用 textarea 可能会触发一些验证或其他过程?

我的直觉是,这是上面最后两点之一,尝试帮助解决问题,尝试:

  • 通过验证器运行您的标记并解决提出的任何问题。它还在做吗?
  • 禁用 JavaScript 并加载页面。它还在做吗?

我希望你能很快缩小原因。

PS:不要将 CSS 放在任何地方,而是放在头部 - 这会导致您出现各种其他问题!

于 2013-05-24T13:49:52.023 回答
1

如果问题仅出现在 Chrome 中,则可能是拼写检查器。

根据@PapaKai 提供的链接,禁用拼写检查器可能会有所帮助。(最近建议)

您可以使用 <textarea spellcheck="false"> 仅在 textarea 上禁用拼写检查,如答案中所述

于 2015-11-20T10:48:30.690 回答