Repaso a las funciones de jQuery keydown() y keyup() para detectar la presión de las teclas de teclado de una manera sencilla y eficaz.
Para ver las diferencias entre estas funciones y la función keypress() os explico el orden de actuación:
Estas 2 funciones jQuery son similares a mousedown() y mouseup() que detectan los clicks del ratón.
Vamos a ver la sintaxis de keydown() extraída de su web oficial:
$(selector).keydown(function)
Os explico el código y sus parámetros:
Vamos a ver la sintaxis de keyup() extraída de su web oficial:
$(selector).keyup(function)
Os explico el código y sus parámetros:
Antes de ver los ejemplos os recomiendo leer el post:
Voy a poneros el ejemplo que realicé en el post de jQuery which() en el que se detectaba la tecla que ha sido pulsada:
$(document).ready(function(){ $("#escribe").keydown(function(event){ $("#parrafo").text("El código de la tecla " + String.fromCharCode(event.which) + " es: " + event.which); $("#escribe").val(""); }); });
Explico el código superior:
Otro ejemplo para ver las 2 acciones en funcionamiento:
$(document).ready(function(){ $("#escribe").keydown(function(){ $("#parrafo").text("Tecla pulsada"); }); $("#escribe").keyup(function(){ $("#parrafo").text("Tecla soltada"); }); });
Os explico el código:
El código HTML del párrafo y el input es el siguiente:
<p><input type="text" id="escribe" value=""></p> <p id="parrafo">Manten pulsada una tecla y después suéltala.</p>
Os muestro el ejemplo para ver cómo sería la llamada desde jQuery on():
$("#escribe").on("keydown", function() { $("#parrafo").text("Tecla pulsada"); }); $("#escribe").on("keyup", function() { $("#parrafo").text("Tecla soltada"); });
Para la detección, control o selección de elementos con jQuery os recomiendo leer este post: