通过单击contentEditable =“ false”子节点来聚焦contentEditable =“ true”父对象

时间:2018-08-16 14:32:48

标签: javascript html contenteditable

请参见以下示例:

Codepen example

=INDEX(6:6,AGGREGATE(15,6,COLUMN(G7:M10)/(G7:M10 = F14),1))

我希望聚焦父contentEditable =“ true”并将插入号放在contentEditable =“ false”跨度子节点的前面或结尾。

在该示例中,当用户单击不可编辑的子节点时,可编辑的父对象似乎被聚焦,但是没有插入符号,因此无法键入。

尝试使用jquery强制执行似乎没有任何效果,除非先模糊它,然后将选择位置设置为开始,这不是所需的行为。

有没有简单的方法可以做到这一点,或者我需要一个库吗?

1 个答案:

答案 0 :(得分:2)

检查以下内容: HTML contenteditable with non-editable islands

基本思想是对::before { content:"caption"; }使用空跨度

span.non-editable::before { 
  content:attr(name); 
  background:gold; 
  display:inline-block; 
 }
<div class="editable" contentEditable="true">Some more text here
  <span class=non-editable name="placeholder"></span>
  Hi this is my content
</div>