Ik wil dat er een functie wordt uitgevoert om het moment dat je op een toets drukt. Dus onkeypress leek mij het meest voor de hand liggent. In FF (2) werkt dit goed en krijg ik 'KeyCode: (getal)' in beeld. In IE(7) daarintegen krijg ik niets te zien.
- Het woord 'event' is gereserveerd, dit is buggy als je um gebruiktr als variabele..
- onkeypressed is volgens mij geen standaard event (weet ik niet helemaal zeker), maar ik gebruik liever 'onkeydown'.
Bij de meeste browsers wordt standaard de event meegegeven aan de functie, maar da's niet altijd zo, daarom moet je, voor berowser compatabiliteit, ff de if(window.event) check doen..
En ik wil niet 'onkeydown' gebruiken, want als jij die ingedrukt houd dan blijft hij die functie uitvoeren. Bij 'onkeypress' doet hij het maar 1 keer als je hem ingedrukt houd. Dat is het verschil tussen die 2 events.
Verder zal ik het aanpassen naar jouw manier, maar dan nog wel met 'onkeypress'
Even kijken of het werkt
Edit:
Je voorbeeld werkt, maar niet met 'onkeypress' (wel in FF niet in IE)
En als ik toch 'onkeydown' gebruik en ik verander:
document.getElementById('keyinfo').innerHTML = 'KeyCode: ' + e.keyCode;
naar:
document.getElementById('keyinfo').innerHTML += 'KeyCode: ' + e.keyCode;
En ik houw een knop ingedrukt, dan krijg ik deze steeds vaker in beeld ipv maar 1 keer.
Hmm, nog en kleine toevoeging, anders zou je kunnen 'frauderen' door een 2e key in te drukken en die weer los te laten.. zodat je de 'onkeyup' weer triggerd.