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

208
Visualizações
no puedo obtener setSelectionRange para colocar el cursor al comienzo de la entrada

Hola,

tengo este codigo:

 inputform.addEventListener('keypress', function(e) { const tgt = e.target; if (tgt.id==="usermsg") { if (e.which == 13 && !e.shiftKey && tgt.value) { tgt.value = ''; tgt.setSelectionRange(0,0); } } });

cuando presiona ENTER, se supone que debe borrar la entrada del área de texto y devolver el cursor al inicio, pero no lo hará. En su lugar, el cursor permanece en la segunda línea. Aquí está el violín: https://jsfiddle.net/xbc0vong/

¿porqué es eso?

Gracias.

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

0

Utilice e.preventDefault(); para evitar el comportamiento predeterminado.

Prueba esto

 inputform.addEventListener('keypress', function(e) { const tgt = e.target; if (tgt.id==="usermsg") { if (e.which == 13 && !e.shiftKey && tgt.value) { e.preventDefault(); tgt.value = ''; tgt.setSelectionRange(0,0); } } });

Caja de arena de código => https://jsfiddle.net/pa6cjweo/1/

about 4 years ago · Juan Pablo Isaza Relatório

0

Parece que se necesita un ligero retraso después de que se haya borrado el atributo .value . Usar setTimeout() funcionó.

 const inputForm = document.forms[0]; inputForm.addEventListener('keypress', (e) => { const tgt = e.target; if (tgt.id === 'userMsg' && e.keyCode === 13) { tgt.value = ''; setTimeout(() => { tgt.focus(); tgt.setSelectionRange(0, 0); }, 0); } });
 <form id="inputForm"> <textarea id="userMsg"></textarea> </form>

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