(javascript) Como capturar teclas no evento onkeypress no ie

Alguem sabe com fazer para capturar as teclas das setas, pageup, pagedown etc no ie? O onkeypress no firefox eu consigo capturar qualquer tecla, mas no ie as setas, pageup, pagedown, del, insert, home, end… nao captura. :frowning:

veja o codigo decimal na tabela ascii

page up = 33
page down = 34

esquerda = 37
direita = 39
baixo = 40
cima = 38

	function numberOnly(evt) {
	    evt = (evt)? evt : ((window.event)? event : null);
	    if (evt) {
	        var elem = (evt.target)? evt.target : ((evt.srcElement)? evt.srcElement : null);

	        if (elem) {
	            var charCode = (evt.charCode)? evt.charCode : ((evt.which)? evt.which : evt.keyCode);
	            alert(charCode);
	      }
	   }
	}

[quote=perdeu]page up = 33
page down = 34

esquerda = 37
direita = 39
baixo = 40
cima = 38

[code]
function numberOnly(evt) {
evt = (evt)? evt : ((window.event)? event : null);
if (evt) {
var elem = (evt.target)? evt.target : ((evt.srcElement)? evt.srcElement : null);

        if (elem) {
            var charCode = (evt.charCode)? evt.charCode : ((evt.which)? evt.which : evt.keyCode);
            alert(charCode);
      }
   }
}

[/code][/quote]

Então, mas no IE o evento onkeypress não executa a função se as teclas forem das setas, pageup, pagedown etc… o onkeypress no ie so executa a função se as teclas precionadas forem letras, numeros e outros. Portanto não da para capturar as teclas que eu quero ja que a função não será executada. (obs: onkeydown funciona).