Contenteditable不能使用contententeditable span设置为false

时间:2017-12-07 10:53:55

标签: javascript html5 contenteditable

我在jsfiddle中复制的contenteditable div有问题。问题是当我在contenteditable div和hit backspace之间点击时,div中的所有span标签都被删除了。我在小提琴中尝试了同样但它的工作正常。但是当我将光标放在最后时,它会逐个删除范围。

这有效

<div contenteditable="true">
<span contenteditable="false">value1</span>
<span contenteditable="false">value2</span>
<span contenteditable="false">value3</span>
<span contenteditable="false">value4</span>
<span contenteditable="false">value5</span>
<span contenteditable="false">value6</span>
</div>
<br/>

这不是

<div contenteditable="true" id="formulaBox"  role="button" tabindex="0">
<span style="color: red;" contenteditable="false">SUM</span>
<span style="color: black;" contenteditable="false">(</span>
<span style="color: rgb(0, 126, 255);" contenteditable="false">value1</span><span style="color: black;" contenteditable="false">+</span>
<span style="color: rgb(0, 126, 255);" contenteditable="false">value2</span><span style="color: black;" contenteditable="false">+</span>
<span style="color: rgb(0, 126, 255);" contenteditable="false">value3</span><span style="color: black;" contenteditable="false">*</span>
<span style="color: rgb(0, 126, 255);" contenteditable="false">value4</span><span style="color: black;" contenteditable="false">)</span>
<span style="color: black;" contenteditable="false">/</span>
<span style="color: blue;" contenteditable="false">AVG</span>
<span style="color: black;" contenteditable="false">(</span>
<span style="color: rgb(0, 126, 255);" contenteditable="false">value5</span><span style="color: black;" contenteditable="false">)</span>
</div>

请参阅以下链接 https://jsfiddle.net/9ruwpyv5/

第一个div被复制,第二个是实际的代码。

1 个答案:

答案 0 :(得分:0)

我找到了。我刚刚在所有span标签之间添加了一个空格,它解决了这个问题。

$('#formulaBox span').before(" ");