Saltar al contenido

Truco de Javascript para ‘pegar como texto sin formato’ en execCommand

Hola, encontramos la respuesta a tu búsqueda, continúa leyendo y la hallarás aquí.

Solución:

interceptará el paste evento, cancelar el pastee inserte manualmente la representación de texto del portapapeles:
http://jsfiddle.net/HBEzc/. Este debería ser el más fiable:

  • Atrapa todo tipo de pegado (Control+Vmenú contextual, etc.)
  • Le permite obtener los datos del portapapeles directamente como texto, por lo que no tiene que hacer feos trucos para reemplazar HTML.

Sin embargo, no estoy seguro de la compatibilidad entre navegadores.

editor.addEventListener("paste", function(e) );

No pude obtener la respuesta aceptada aquí para trabajar en IE, así que investigué un poco y llegué a esta respuesta que funciona en IE11 y las últimas versiones de Chrome y Firefox.

$('[contenteditable]').on('paste', function(e)  e.originalEvent.clipboardData) 
      text = (e.originalEvent  else if (window.clipboardData) 
      text = window.clipboardData.getData('Text');
    
    if (document.queryCommandSupported('insertText')) 
      document.execCommand('insertText', false, text);
     else 
      document.execCommand('paste', false, text);
    
);

Una solución cercana como pimvdb. Pero funciona con FF, Chrome e IE 9:

editor.addEventListener("paste", function(e) 
    e.preventDefault();

    if (e.clipboardData)  e).clipboardData.getData('text/plain');

        document.execCommand('insertText', false, content);
    
    else if (window.clipboardData) 
        content = window.clipboardData.getData('Text');

        document.selection.createRange().pasteHTML(content);
       
);

Comentarios y calificaciones del artículo

Si te animas, tienes el poder dejar un tutorial acerca de qué te ha gustado de este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *