jQuery: al ingresar el texto de envío de la tecla: el salto de línea aún se inserta en el área de texto

Tengo un pequeño problema al publicar un texto de un área de texto tan pronto como se presiona la tecla Intro.

El texto ingresado se agrega a un div con un efecto ordenado y luego se elimina del área de texto, lo que funciona bien. Sin embargo, cuando presiona Intro, todavía se inserta un salto de línea en el área de texto, justo después de lo cual el texto se agrega y elimina. Entonces, por una fracción de segundo, puede ver que se agrega el salto de línea, que no se ve bien en absoluto.

¿Cómo evito la inserción de un salto de línea?

¡Gracias! Dennis

ACTUALIZACIÓN:

Algo de código aquí. Yo uso la llave.

$('#postDiv').on('keyup', '#posttext', function(e) {
    if ((e.which == 13) && !event.shiftKey) {
        post($(this));
    }
});

preguntado el 03 de mayo de 12 a las 22:05

¿Se está adjuntando al evento keyup o keydown? Publica algo de código. -

1 Respuestas

$('#postDiv').on('keydown', '#posttext', function(e) {
    if ((e.which == 13) && !event.shiftKey) {
        post($(this));
        return false
    }
});

Tenga en cuenta el cambio a keydown, para bloquear la acción predeterminada

contestado el 03 de mayo de 12 a las 22:05

Aquí es donde quieres estar :) - jeff hines

@ paulslater19 oh, pero ¿por qué devuelves falso? - Weltschmerz

@Dennis return false evitará el line break de ser insertado en su área de texto. - fabricio matte

Evitará que se inserte la nueva línea. Creo que se podría hacer lo mismo a través de e.preventDefault(). return false también detiene la propagación (es decir, el evento que burbujea el DOM). Pero probablemente no tengas que preocuparte demasiado por eso: paulslater19

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.