Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

827
Views
Pegar contenido como texto sin formato en el editor de notas de verano

Necesito copiar y pegar algún contenido en mi editor de notas de verano. Pero cuando lo pego, toma el estilo de la página de donde lo copié. Necesito pegarlo como texto sin formato. ¿Hay alguna solución?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Utilice la devolución de llamada de onPaste

Use la opción onPaste para definir una devolución de llamada que eliminará las etiquetas e insertará manualmente el texto.

 $editor.summernote({ onPaste: function (e) { var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text'); e.preventDefault(); document.execCommand('insertText', false, bufferText); } });

Crédito: https://github.com/summernote/summernote/issues/303

Resolver problemas de Firefox:

Es posible que todavía tengas problemas con Firefox. Si es así, ajuste document.execCommand en una función de temporizador para retrasar un poco su ejecución:

 setTimeout(function(){ document.execCommand( 'insertText', false, bufferText ); }, 10);

Actualización para v0.7.0+

La posición de las devoluciones de llamada en las opciones se cambia después de v0.7.0
Después de v0.7.0, todas las devoluciones de llamada deben estar envueltas por el objeto de devoluciones de llamada. (fuente)

Esto significa que el código original debe escribirse como

 $editor.summernote({ callbacks: { onPaste: function (e) { var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text'); e.preventDefault(); document.execCommand('insertText', false, bufferText); } } });

Crédito a Mathieu Castets por señalar esto (así que si esto ayudó, ¡vote a favor de su respuesta!)

TL; DR: aquí hay una demostración funcional

over 4 years ago · Santiago Trujillo Report

0

Después de v0.7.0, todas las devoluciones de llamada deben estar envueltas por el objeto de devoluciones de llamada. http://summernote.org/deep-dive/#callbacks

Entonces, si está usando summernote de v0.7.0 o superior, la respuesta de jcuenod ahora podría reescribirse como:

 $('.summernote').summernote({ callbacks: { onPaste: function (e) { var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text'); e.preventDefault(); // Firefox fix setTimeout(function () { document.execCommand('insertText', false, bufferText); }, 10); } } });
over 4 years ago · Santiago Trujillo Report

0

La devolución de llamada onPaste funciona muy bien, pero estaba teniendo problemas con el manejo diferente de los saltos de línea en diferentes navegadores. Así que se me ocurrió la siguiente solución, que usa saltos de línea html:

 $(".htmleditor").summernote({ callbacks: { // callback for pasting text only (no formatting) onPaste: function (e) { var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text'); e.preventDefault(); bufferText = bufferText.replace(/\r?\n/g, '<br>'); document.execCommand('insertHtml', false, bufferText); } } });
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!