contenteditable = false in contenteditable = true

use*_*291 9 html javascript google-chrome contenteditable

问题:

我观察到Chrome和Opera中的一个不良行为,当一个人通过删除它们之间的分隔来加入两个p标签时就会发生这种行为.Chrome和Opera删除contenteditable = false元素(小部件)和文本之后.

例:

关于jsfiddle的例子

HTML:

<div contenteditable="true" class="editor">
<p>This is the first paragraph.</p>
<p>&larr;Place your cursor here and press backspace. <span class="widget" contenteditable="false">widget</span> Text after widget</p> 
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.widget{
    display: inline-block;
    padding: 5px;
    background-color: gray;
}

.editor{
    font: 20px Trebuchet MS
}
Run Code Online (Sandbox Code Playgroud)

题:

为什么?如何解决?

Rei*_*mar 3

我很久以前就为BlinkWebkit报告了这个错误。这很关键,而且没有解决方法。Webkit 团队试图修复它,但据我所知,他们引入了新的错误;|。

附言。是的,这个答案没有提出任何修复,但唯一的修复是覆盖deletebackspace按键行为。