javascript - eventos - innerhtml
Evento Javascript activado por el espacio presionando (4)
Estoy intentando que se active un evento cuando estoy en una página y presiono espacio, pero no puedo resolverlo. Actualmente estoy tratando de usar jQuery para lograr un resultado satisfactorio.
He intentado usar keydown, keyup y keypress. Pero parece que solo puede usarlo si en realidad está ingresando algo a un formulario o campo.
Lo que quiero es activar una alerta cuando se presiona el espacio.
¡Gracias de antemano!
Este código puede ser utilizado:
$(window).keypress(function(e) {
if (e.keyCode == 0 || e.keyCode == 32) {
console.log(''Space pressed'');
}
});
Explicacion
La $(window).keypress(function(e)
espera a que el usuario presione cualquier tecla y almacena los datos de la tecla presionada en el argumento ''e''.
Luego, if (e.keyCode == 0 || e.keyCode == 32)
comprueba si el código de la tecla presionada es igual al código de la barra espaciadora, que es 0 o 32. Si esto devuelve falso, entonces se presiona cualquier otra tecla y el código termina.
Algunos códigos clave de uso común:
- retroceso: 8
- pestaña: 9
- entrar: 13
- turno: 16
- ctrl: 17
- alt: 18
- bloqueo de mayúsculas: 20
- escape: 27
- (espacio): 32
- 0-9: 48-57
- az: 65-90
- numpad0-numpad9: 96-105
Intente vincular su detector de eventos clave al objeto jQuery $ (documento);
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).keydown(function(e) {
if (e.keyCode == ''32'') {
alert(''space'');
}
});
});
</script>
</head>
<body>
</body>
</html>
Prueba esto:
$(''input:text'').keypress(function(e) {
if (e.keyCode == 0 || e.keyCode == 32) // `0` works in mozilla and `32` in other browsers
console.log(''space pressed'');
});
Estos eventos aumentan, así que si está intentando activar el evento donde sea que esté su enfoque (es decir, no en una entrada), simplemente enlace un controlador en la window
:
$(window).keypress(function (e) {
if (e.key === '' '' || e.key === ''Spacebar'') {
// '' '' is standard, ''Spacebar'' was used by IE9 and Firefox < 37
e.preventDefault()
console.log(''Space pressed'')
}
})
También vea la lista de todos los valores de .key
.