Estoy trabajando en un editor html (div contenteditable) y encontré este problema: hacer doble (o triple) clic en líneas vacías como <div><span><br></span></div> se comporta de manera diferente en safari/ cromo y firefox. En Safari y Chrome, las líneas vacías se resaltan y seleccionan. esto es lo que espero. pero en Firefox desaparece el símbolo de intercalación y range.startcontainer es el contenedor div (el contenido editable) en lugar de la línea vacía. Firefox no resalta la línea span/vacía, estoy de acuerdo con eso, pero me gustaría cambiar el comportamiento para que actúe como un solo clic (el símbolo de intercalación permanece en su lugar y range.startcontainer es <span> .
Puede preguntar lo que quiero con líneas vacías. He creado algunas funciones para las opciones de estilo (cambiar a lista/viñetas, por ejemplo) que deberían ser accesibles incluso al hacer doble clic en la línea vacía.
Intenté resolver esto guardando el nodo de inicio en el primer clic y luego restaurándolo cuando los usuarios hacen clic 2 o más veces y recuperando el signo de intercalación colapsando el rango. pero supongo que hay una solución mejor/más limpia ya que solo se necesita para ff.
cualquier idea apreciada!