html - 禁用编辑后,红色拼写检查波浪线仍保留在 chrome 中

标签 html google-chrome contenteditable spell-checking browser-bugs

更新:这已被确定为 Chrome 中的错误。 (感谢@michael-robinson)

在 Chrome(至少 v22)中,我注意到即使在禁用 contentEditable 后,拼写检查“红色波浪形”下划线也可能保留。

我制作了一个 jsfiddle 来演示:jsfiddle demo .

squiggles and spelling errors

即使我在禁用 contentEditable 之前设置了属性 spellcheck="false",它们仍然存在。

有人知道解决或解决这个问题的好方法吗?理想情况下,当内容可编辑时,我会保留内置的拼写检查功能。

最佳答案

您是否尝试过设置 display: none(使用 CSS)然后将显示设置回原来的样子?可能会强制 Chrome 重新绘制元素...(没有用,请参阅下面的其他解决方案)

或者,您可以创建元素的副本(但禁用 contenteditable),将其放在原始元素之后并删除原始元素。

更新 1:第一个解决方案无效,但第二个有效。更新了 JSfiddle http://jsfiddle.net/RegVn/6/

更新 2:上述解决方案使用 innerHTML,它删除了破坏事件处理程序。它还会破坏选择/插入符号位置。

新方法使用 jQuery 的 clone() 方法(在深度克隆模式下)创建对象的副本(复制事件处理程序),并具有自定义函数来保存对选择,然后恢复它。请注意,选择保存/恢复功能在 ie6-8 中不起作用,但我认为这是可以接受的,因为问题已标记为 Chrome。更新的 JSfiddle:http://jsfiddle.net/RegVn/23/

关于html - 禁用编辑后,红色拼写检查波浪线仍保留在 chrome 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12812348/

相关文章:

带有线性渐变的 CSS 导航栏在 Chrome 中不显示背景

javascript - 如何将ng-bind-html与双向数据绑定(bind)一起使用?

html - 带有图像的语义 UI 中的列表项将文本向下推

javascript - Jquery on(click) 问题并更改点击目标

javascript - appendTo 自定义元素未使用自动完成功能进行更新

CSS - 固定位置导致字体在 Mac(Safari、Chrome)上变粗

html - 在 Chrome 书签上获取链接文本或标题

css - 减小 contenteditable 元素中光标的大小

javascript - 在 contenteditable div 的回车键上插入换行符

html - Codeigniter CSS 未应用于 html View 页面