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
Frecuentes
Visto 2,080 veces
0
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));
}
});
1 Respuestas
2
$('#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 jquery line-breaks or haz tu propia pregunta.
¿Se está adjuntando al evento keyup o keydown? Publica algo de código. - Tejs