0

这种行为特定于 Chrome(在编写版本 26.0.1410.64 m 时,但我知道它已经发生了一段时间)。

采用以下 HTML:

<div contenteditable="true">
    <div contenteditable="false">
        <div contenteditable="true"><div><span contenteditable="false">[Interruption]</span><span style="display: none;"></span></div></div>
    </div>

在生成的 ContentEditable Div 中,将插入符号放在“中断”跨度之后。然后尝试使用退格键将其删除。你会发现这是不可能的。

这是一个说明这一点的jsfiddle

请注意,在“中断”跨度之后立即键入一些文本可以解决问题,因为您可以向左箭头返回跨度完成的位置并像往常一样成功退格。但是,一旦您删除此文本,问题就会再次出现。

我特别关心它,因为 Span是我正在使用的范围和选择库Rangydisplay: none的一个组成部分。我发现使用 Rangy 有时会阻止 Span 被删除,这似乎是根本原因。

4

0 回答 0