Colocación del cursor fuera de la etiqueta insertada en ContentEditable

Estoy insertando una etiqueta span en un div de contentEditable usando el método document.execCommand insertHTML .

Después de la inserción, quiero que el símbolo de intercalación se configure al final de la entrada, de modo que cualquier entrada adicional quede fuera de la última etiqueta de intervalo insertada. El comportamiento predeterminado, al menos en Chrome, es colocar más entradas dentro de la etiqueta.

Terrible truco que he encontrado es insertar otro elemento span inmediatamente después de la palabra:

 document.execCommand('insertHTML', false, ' '); 

Ahora el nuevo contenido entra en este elemento span en su lugar. Afortunadamente hay una mejor solución.

Estuve atascado en esto también hasta que intenté esto. Coloque un   al final de su inserción como en

 document.execCommand('insertHTML', false, '  '); 

Simplemente poner un espacio al final de su HTML no funcionará, ya que he encontrado que siempre está recortado.