【问题标题】:Turn off grammar correction in a contenteditable div in FireFox在 FireFox 的 contenteditable div 中关闭语法校正
【发布时间】:2026-01-25 02:25:02
【问题描述】:

我有 contenteditable div,上面有文字。在 Firefox 中,有某种语法更正,用红色标记在文本下划线。我怎样才能关闭它?

如何关闭 FireFox 中的红色标记?

<div contenteditable ='true'>Why do you underline me?</div>

JSFiddle: http://jsfiddle.net/26JkW/

【问题讨论】:

  • @Woho87:通过正确拼写你的话? ;-D
  • 其实不是语法修正。这是不同的东西。还不知道是什么
  • @Chris:您使用的是哪个版本的 Firefox?试试——jsfiddle.net/26JkW/5
  • 在停止拼写检查(v4.0 + Firebug)方面为我做了这件事。然而,我认为这对 WoHo87 的情况没有帮助——我相信他有一个更大的问题正在发生。很好的提示,但还没有听说过这个属性,所以谢谢!
  • +1 用于 Stealthninja 解决方案,用于从 Firefox 中删除所有拼写检查。

标签: javascript html firefox text contenteditable


【解决方案1】:

试试 --

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

由于上面是 Firefox-only 的属性,如果你关心验证,你也可以使用 jQuery 来设置属性,例如

$('.textarea_you_want_to_target').attr('spellcheck', false);


更新

在 Firefox 中,您似乎必须在 &lt;body&gt; 上设置 spellcheck="false"。见http://jsfiddle.net/26JkW/5/

【讨论】:

  • 此解决方案不起作用。首先是div-element
  • @Woho87:只需将spellcheck="false" 添加到div,例如&lt;div contenteditable spellcheck="false"&gt;。它对我有用。
  • 嘿,不,我们正在分道扬镳:P 你的第二次迭代对我有用,+1。我认为这里的问题是我们的建议的结合——他使用的是瑞典语 Firefox,所以它把所有的英语都当作拼写错误。
  • 是的。我必须在 上添加 spellcheck="false" 以禁用拼写检查。简单地添加到 div 元素对我不起作用。感谢您的提示。
  • 在 FF 57(很久以后)上,在特定元素上设置此属性对我有用。
【解决方案2】:

Firefox 没有原生的语法检查功能。鉴于每个单词都被标记为不正确,您可能选择了错误的语言。

要验证您是否为 Firefox 的字典选择了正确的语言:在可编辑字段中键入时,右键单击输入区域。在上下文菜单中,有一个选项语言。确保选择了预期的语言。


EDIT stealthyninja's answer below 包含根据 OP 请求禁用拼写检查的方法。这个答案不应该作为解决方案。

【讨论】:

  • 先看JsFiddle。如果有红色标记,则不是语言问题
  • 对我来说根本没有下划线。这加强了我的断言,即您的字典存在问题。如果您已确认您选择了正确的语言,那么下一步就是诊断您的字典文件。
  • 检查工具->选项,翻到内容选项卡。在那里,您可以更改浏览器的语言设置。打开该对话框(单击“选择”按钮)并确保在此处选择英语。
  • 我用的是瑞典火狐,所以它把它标记为红色。但是我可以使用 javascript 以某种方式将其关闭吗?
  • 你不能从 JS 中关闭或更改字典,这也不是一个好主意。您可以使用stealthyninja 提供的方法关闭容器的拼写检查。这个对我有用:jsfiddle.net/26JkW/5
【解决方案3】:

根据MDN

从 Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6) 开始, 拼写检查器使用 &lt;input&gt; 元素的 lang 属性 确定默认的拼写检查语言。如果&lt;input&gt; 没有 有一个 lang 属性,每次连续搜索该属性 父元素并向上朝向根节点,直到找到一个。

所以要禁用拼写检查,我不仅要添加spellcheck="false",还要添加一个lang 标签,其中包含在用户计算机上找不到的字典。

<div contentEditable="true" lang="klingon" spellcheck="false"></div>

这应该适用于 Kronos 之外的大多数系统。

【讨论】: