Foros del Web » Programando para Internet » Javascript »

Navegar por el sitio presionando teclas

Estas en el tema de Navegar por el sitio presionando teclas en el foro de Javascript en Foros del Web. buenas, me pueden decir como hacer para que el usuario presione una conbinacion de teclas y la pagina haga algo en especifico, ejemplo: el usuario ...
  #1 (permalink)  
Antiguo 27/07/2010, 16:48
 
Fecha de Ingreso: mayo-2010
Mensajes: 109
Antigüedad: 9 años, 6 meses
Puntos: 0
Navegar por el sitio presionando teclas

buenas, me pueden decir como hacer para que el usuario presione una conbinacion de teclas y la pagina haga algo en especifico, ejemplo:

el usuario presiona Control + F y la página abra un menú.

Quisiera hacer esto muchas veces osea con varias combinaciones de teclas.

gracias de antemano ;)
  #2 (permalink)  
Antiguo 28/07/2010, 04:17
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 9 años, 6 meses
Puntos: 2
Respuesta: Navegar por el sitio presionando teclas

Hoombre depende mucho de que quieras hacer pero basicamente es poner en el <input type="" name="" accesskey="F" onclick=""> donde en el evento onclick pones lo que deberia hacer puesto que el accesskey toma ese evento, y ademas se usaria el ALT en lugar de CTRL.
Puedes hacer eso con cualquier tecla y todo eso...
  #3 (permalink)  
Antiguo 28/07/2010, 11:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 10 años, 7 meses
Puntos: 1485
Respuesta: Navegar por el sitio presionando teclas

aunque la consideré, yo no lo elegería la opción de accesskey porque cada navegador requiere una combinación distinta y la idea es que puedas usar tu propia combinación de teclas. por otra parte accesskey solo funciona con elementos que pueden recibir el foco (input, textarea, a, button).

de momento tengo un código un tanto simple para agregar accesos directo (hotkey o shortcut) pero tengo que seguir elaborandola para soportar una gama de posibilidades de combinaciones. la idea es que te sirva de inicio. por ahora solo funciona para hacer combinaciones con CTRL, ALT, y SHIFT con un caracter alfanumérico.
Código:
var Handler = {
add: function(elem, event, handler, capture){
	try{
	elem.addEventListener(event, handler, capture);
	} catch(error){
	elem.attachEvent('on' + event, handler);
	}
},

remove: function(elem, event, handler, capture){
	try{
	elem.removeEventListener(event, handler, capture);
	} catch(error){
	elem.detachEvent('on' + event, handler);
	}
},

addHotkey: function(keys, action){
var modifiers = keys.toLowerCase().match(/\b\w{2,}\b/g), key = keys.toUpperCase().match(/\b\w\b/);
Handler.add(document, "keydown", function(evt){
for(var i = 0; modifiers && i < modifiers.length; i++) if(!evt[modifiers[i]+"Key"])return;
if(key && evt.keyCode != key[0].charCodeAt(0))return;
action(evt);
}, false);
}
} // Handler;



/* Argumentos:
** string keys: la combinación de teclas a registrar.
** function action: función o método a invocar para la combinación.
*/

// ejemplo de uso;
Handler.addHotkey("CTRL + ALT + SHIFT + I", function(){alert("funcion que se invoca con el hotkey agregado");});
aclarar algunos detalles. todos los hotkeys se registran en el objeto document con el evento keydown. de modo que no importa donde este situado el foco, el hotkey siempre estará disponible. el formato del argumento keys consiste en separar cada tecla con algún caracter no alfanumérico a excepción del guión bajo (underscore: _). por ejemplo, "Ctrl G", "Shift+U", "Alt|E". la función asignada al segundo parametro recibirá como argumento el objeto event en caso de necesitarlo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 28/07/2010 a las 11:07
  #4 (permalink)  
Antiguo 28/07/2010, 13:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años
Puntos: 126
Respuesta: Navegar por el sitio presionando teclas

Hola

Algo de literatura, demo y código sobre keyboard shortcuts

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: conbinaciones, navegar, presinando, teclas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.