Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
Evite que el div contenteditable="plaintext-only" cree una nueva línea

Tengo un div que se usa como entrada del usuario:
<div id="chat-message-input" contenteditable="plaintext-only">

Cuando el usuario presiona la tecla Intro (y no mantiene presionada la tecla Mayús), se envía el texto del usuario.

 <script> document.querySelector('#chat-message-input').onkeyup = function(e) { // User hits enter key and is not holding shift if (e.keyCode === 13 && event.shiftKey != 1) { //Click submit button document.querySelector('#chat-message-submit').click(); // Clear input field document.getElementById('chat-message-input').innerHTML=''; }; </script>

Problema: hay un breve momento en el que el div crea una nueva línea porque se presionó la tecla Intro, antes de que se borre el contenido del div.

Solo quiero que se cree una nueva línea en estas circunstancias:

  1. El texto de entrada del usuario llega al final de la línea.
  2. El usuario mantiene presionada la tecla shift y presiona enter

¿Alguien sabe cómo puedo evitar que se cree una nueva línea dados los requisitos anteriores?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como sugirió A Haworth, también intercepté onkeydown (además de onkeyup) y evité el valor predeterminado. Esto pareció funcionar bien.

 document.querySelector('#chat-message-input').onkeydown = function(e) { // User hits enter key and is not holding shift if (e.keyCode === 13 && event.shiftKey != 1) { e.preventDefault() } };

Esto hizo que el campo de entrada fuera realmente sólido, lo cual es necesario para mi aplicación de chat en tiempo real. ¡Gracias!

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda