【发布时间】:2011-08-01 20:48:26
【问题描述】:
对于普通输入元素,您可以turn off 使用 HTML 属性(至少在 FF 下)进行拼写检查。相同的 spellcheck="false" 似乎不适用于 contentEditable 元素。 contentEditable 元素还有其他解决方案吗?
【问题讨论】:
标签: html spell-checking contenteditable
对于普通输入元素,您可以turn off 使用 HTML 属性(至少在 FF 下)进行拼写检查。相同的 spellcheck="false" 似乎不适用于 contentEditable 元素。 contentEditable 元素还有其他解决方案吗?
【问题讨论】:
标签: html spell-checking contenteditable
在 Gecko 中,所有 contenteditable 元素都根据 <body> 元素上的 spellcheck 属性/属性检查拼写。
【讨论】:
data:text/html,<div contenteditable>Fe Fi Fo Fum 向我显示拼写错误。 data:text/html,<body spellcheck=false><div contenteditable>Fe Fi Fo Fum 没有。
即使不考虑浏览器错误,您也无法关闭拼写检查,您所能做的就是向用户代理建议它不进行拼写检查。如果您查看section of the spec,它描述了用于确定可拼写检查的算法,这里是前两个步骤:
用户偏好总是覆盖属性。
【讨论】:
我不确定这是否是您的意思,但我在从 contentEditable 元素中删除拼写检查下划线时遇到了类似的问题。问题是,当您将 spellcheck 属性设置为 false 时,任何因拼写错误而下划线的单词都会保留该下划线,直到您将注意力集中在 contentEditable 元素上。
以下 hack 应该可以解决问题:
element.spellcheck = false;
element.focus();
element.blur();
希望有帮助!
【讨论】:
根据尼尔所说,我想出了这个人:
$('body').attr("spellcheck",false)
它默认我所有的 contenteditable div 不使用拼写检查。我计划在必要时使用 .blur 和 .focus 来为单个 div 启用拼写检查。
【讨论】:
document.body.setAttribute('spellcheck', false);