Javascript — Limpar texto colado em um campo “contenteditable”
Olá Gente!
Utilizar o recurso “contenteditable” em uma Div é LINDO, nos abre muitas portas para customização.
Esta é uma abordagem muito útil para criar um campo WYSIWYG, onde possa ser inserido elementos com formatação.
Porem, e se precisarmos utilizar apenas texto, sem formatação?
Não existe um atributo que bloqueei a formatação neste estilo de campo, o que permite colar um texto cheio de formatação.
Para evitar isto, precisamos:
- Manipular o evento “paste”
- Bloquear o evento padrão do campo
- Obter o “text/plain” que esta no Clipboard
- Substituir o clipbord pelo “text/plain”
Com isto, teremos:
<div id="BlcCampo" contenteditable="true" style="width: 200px; height: 200px; display: block; padding: 10px; background: #F5F5F5;">Teste1</div>
<script language="javascript" type="text/javascript">
document.getElementById('BlcCampo').addEventListener('paste', function(e) {
e.preventDefault();
var TextPlain = (e.clipboardData || window.clipboardData).getData('text/plain');
document.execCommand('inserttext', false, TextPlain);
});
</script>
Desconectando-se por hoje, pessoal! 🌐
Espero que tenham aprendido muito.
Até mais, e que a tecnologia esteja com vocês! 🚀
Leia também
API Mágica: notificações Web Push no navegador com PHP
Web Push com a API Mágica em PHP puro: o navegador se inscreve, o seu site envia a notificação e a API conta o clique. Sem Composer e sem biblioteca.
Gerando a DANFE do XML da nota com Node.js
Como ler o XML de uma NF-e em Node.js, montar o HTML do DANFE e virar PDF com o Puppeteer, com o codigo de barras da chave.
Node.js: populando uma planilha no Google Sheets
Como escrever dados numa planilha do Google Sheets com Node.js, e as tres armadilhas que transformam dado certo em planilha errada.