我在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被复制,第二个是实际的代码。
答案 0 :(得分:0)
我找到了。我刚刚在所有span标签之间添加了一个空格,它解决了这个问题。
$('#formulaBox span').before(" ");