Hoy veremos como cancelar la tecla F5 (refresh) para evitar que recarguen nuestra pagina. Esto lo haremos sobrescribiendo el evento keydown de document:
document.onkeydown = function(){
}
Y para saber cual tecla pulso lo aremos por medio de window.event.keyCode, para nuestro ejemplo agregamos una función que pone la hora y de esta manera vemos que realmente que no se esta refrescando nuestra pagina. De igual manera agrego un evento a un input para que vean que no se esta sobrescribiendo los eventos de los demás controles.
Ejemplo completo:
<html>
<head>
<script language="javascript">
document.onkeydown = function(){
if(window.event){
if(window.event.keyCode == 116)
{
return false;
}
}
}
function pon_hora(){
var dHora = new Date();
var res = String(dHora.getHours()) + ":" + String(dHora.getMinutes()) + ":" + String(dHora.getSeconds());
document.frm.txt.value = res;
return res;
}
function txtKey()
{
alert('No sobreescribe el evento keydown de los controles')
}
</script>
</head>
<body onload="pon_hora()">
<form name="frm">
<h1><b>ANULACIÓN DE LA TECLA TECLA F5</b><br></h1>
Hora actual: <input type="text" name="txt" onkeydown="return txtKey();"><br><br>
(Al seleccionar el botón "Actualizar" del navegador la hora debería actualizarse, pero con la tecla F5 no)
</form>
</body>
</html>
No hay comentarios:
Publicar un comentario