¿Hay alguna manera de evitar que se agregue automáticamente div o cualquier otra etiqueta al ejecutar insertText en contentEditable div?
Por ejemplo, quiero copiar y pegar un párrafo que contenga muchos caracteres newLine :
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt tiene 4 lineas Cuando lo copio y lo pego en mi div contentEditable , se convirtió en:
<div>Lorem ipsum dolor sit amet,</div> <div>consectetur adipiscing elit,</div> <div>sed do eiusmod tempor</div> <div>incididunt</div> Trabajo bien con insertHTML , pero el problema es que a veces también quiero copiar y pegar HTML elements too como:
<h1>Title</h1> <p>Hello world</p> <div>Horayy</div> No quiero crear elementos html dentro de mi div contentEditable .
¿Cómo puedo conseguir esto?
Puedo evitar agregar div si ingreso la tecla enter manualmente, pero este caso es diferente, necesito evitarlo para el texto copiado.
Esto es lo que he hecho:
const pastePlainText = useCallback((e: ClipboardEvent) => { e.preventDefault(); if (e && e.clipboardData) { var text = e.clipboardData.getData('text/plain'); document.execCommand("insertText", false, text); } }, []);