2010-07-13 24 views
13

tengo:Textarea prevención de salto de línea en Enter (jQuery)

$('#myTextArea').keyup(function(e) { 
    if(e.keyCode == 13) { 
     e.preventDefault(); // Makes no difference 
    $(this).parent().submit(); // Submit form it belongs to 
    } 
}); 

¿Cómo puedo evitar el salto de línea que aparece justo antes de enviar el formulario? preventDefault() y stopPropagation no funcionan. Podría reiniciar manualmente el texto del campo, pero ...

Respuesta

25

Esto ocurre porque se llama a keyup después de que el texto se haya insertado en el área de texto.

Para capturar la clave antes de ingresar, debe escuchar el evento keydown.

Así que simplemente cambie el keyup al keydown y ya estará listo para empezar.

$('#myTextArea').keydown(function(e) { 
+2

Gracias. No puedo creer que no haya visto eso. – ash

+1

sí ... uno de esos casos resbaladizos .. :) –

+1

gracias! Pasé una hora en esto. – Guanlun