contentEditable元素上的spellcheck = false

时间:2011-04-08 22:30:42

标签: html html5 spell-checking contenteditable

对于普通输入元素,您可以使用HTML属性turn off进行拼写检查(至少在FF下)。相同的spellcheck="false"似乎不适用于contentEditable元素。是否有另一个contentEditable元素的解决方案?

4 个答案:

答案 0 :(得分:20)

我不确定这是否就是你所得到的,但我从contentEditable元素中删除拼写检查下划线听起来像是一个类似的问题。问题是,当您将spellcheck属性设置为false时,任何拼写错误下划线的单词都会保持下划线,直到您专注于contentEditable元素。

以下黑客应该做的伎俩:

element.spellcheck = false;
element.focus();
element.blur();

希望有所帮助!

答案 1 :(得分:13)

在Gecko中,所有contenteditable元素都会根据spellcheck元素上的<body>属性/属性检查拼写。

答案 2 :(得分:7)

根据尼尔的说法,我想出了这个人:

$('body').attr("spellcheck",false)

它违反了我所有可疑的div,不使用拼写检查。我打算使用.blur和.focus根据需要对各个div进行拼写检查。

答案 3 :(得分:0)

即使忽略了浏览器错误,也无法关闭拼写检查,您只需向用户代理建议它不会拼写检查内容。如果你看section of the spec所描述的算法来确定什么是可检查的拼写,这里是前两个步骤:

  1. 如果用户已禁用此文本的检查,则检查将被禁用。
  2. 否则,如果用户强制检查此文本是否始终启用,则启用检查。
  3. 用户首选项始终覆盖属性。