div contenteditable pierde la selección cuando se enfoca otra entrada

Tengo un problema con div contenteditable. Cuando quiero ejecutar un comando simple (como negrita o cursiva), hago lo siguiente:

memorice el div (ya que perderá el foco después de hacer clic en el botón en negrita)Al hacer clic en el botón, vuelvo a enfocar el div y ejecuto el comando en negritaTodo funciona

Ahora el problema ocurre cuando trato de hacer algo más difícil. Por ejemplo, quiero mostrar un diálogo personalizado con un campo de entrada:

memorizar el divAl hacer clic en el botón, se muestra un cuadro de diálogo (todo sigue bien).el usuario enfoca un campo de entrada en ese diálogo (y ahí es donde todo se rompe)

El problema con esto es que tan pronto como se enfoca un elemento de entrada, no solo mi div contenteditable pierde el foco, sino que también pierde la selección y mueve el cursor al principio tan pronto como lo reenfoque.

Entonces, mi pregunta es: ¿cómo puedo evitar que un div contenteditable pierda su selección después de enfocarme en otro elemento de entrada?

Respuestas a la pregunta(1)

Su respuesta a la pregunta