编辑按Ctrl-A CONTENTEDITABLE文本(全选)移除所有子元素(Edit conten

2019-10-18 03:17发布

在与CONTENTEDITABLE =“真”一个div,如果我用Ctrl-A全选所有文字,然后键入的东西,它会删除该专区内的所有子元素,而不仅仅是文字。

例如:

<div id="texteditor" contenteditable="true">
   CTRL-A and Edit Me.

   <div id="topleft-ornament" class="ornament"></div>
   <div id="topright-ornament" class="ornament"></div>
   <div id="bottomleft-ornament" class="ornament"></div>
   <div id="bottomright-ornament" class="ornament"></div>
</div>

小提琴: http://jsfiddle.net/7jV4f/1/

红色圆圈(CONTENTEDITABLE DIV的子元素)在上面的例子中,如果文本是用Ctrl-A编辑将被移除。

任何想法如何预防呢?

THX:d

Answer 1:

所以包裹在div中的文本,并指定contenteditable属性的特定元素

演示

<div contenteditable="true">CTRL-A and Edit Me.</div>
<!-- Wrap the text, don't use contenteditable for the parent element -->


文章来源: Edit contenteditable text with Ctrl-A (Select All) removing all child elements