Zdravíčko, mám takovýhle soubor:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
<script language="JavaScript" type="text/javascript">
var txt = '';
function getKeyCode(e) {
var ret;
if (!e) {
var e = window.event;
}
if (e.charCode) {
ret = e.charCode;
} else
if (e.keyCode) {
ret = e.keyCode;
} else
if (e.which) {
ret = e.which;
}
return ret;
}
function writeText(e) {
txt += String.fromCharCode(getKeyCode(e));
document.getElementById('vypis').innerHTML = txt;
return false;
}
</script>
</head>
<body onKeyPress="return writeText(event);">
<div id="vypis"></div>
</body>
</html>
To je všechno v pořádku a funguje, ale problém je, že v IE (7) funkční klávesy jako jsou šipky, Insert, Delete atd. nevrací žádné číslo.
Ještě větší problém je, že ve FF a Opeře tato funkční tlačítka vrací číselný kód, který odpovídá nějakému znaku. Například šipka doleva vrací 37, což je znak '%', nebo Delete vrací 46, což je tečka. Navíc kódy, které odpovídají nějakému znaku vrací i multimediální klávesy.
Jak mám teda rozlišit, že nebya například stisknuta šipka vlevo, ale znak procenta?
A jak v IE vůbec reagovat na tyto klávesy, když nic nevracejí?
Díky za odpovědi