Detectar F1 .. F12 en JavaScript

Luis
21 de Octubre del 2004
Hola!
Consigo detectar la pulsación de F1 a F12 desde JavaScript. Para ello en mi tag body añado:

onkeydown="javascript:miFuncion()"

Y en miFuncion miro window.event.keyCode, y si está entre 112 y 123, entonces se ha pulsado Fx, donde x=window.event.keyCode-111.

Todo perfecto... pero al salir de mi función y hacer lo que haya que hacer, la tecla de función sigue "viva", de modo que F1 me abre la ayuda, F11 me pone en modo kiosco, etc.

Y eso que antes de salir de la función, hago:

window.event.keyCode=0;

...Pero ni así.

¿Alguien ha solucionado este problema? ¿Hay alguna forma de "comerse" la pulsación para que, de cara a fuera, es como si se hubiera pulsado? No me importa si funciona solamente en el explorer.

Muchas gracias,

Luis.

luis Alfonso
21 de Octubre del 2004
Luis yo tambien tengo el mismo problema, e hice lo que te recomendaron pero no funciono, si me podes ayudar te agradezco, es que al dar f1, realiza lo que yo necesito, pero me abre la ventana de ayuda también.

Herminia
21 de Octubre del 2004
Prueba a poner lo siguiente:

window.event.returnValue = false;