[off] javascript: event.keyCode >> e.which

5 respostas
M

Pessoal,
Para eu saber qual tecla foi pressionada no javascript eu usaria o
event.keyCode caso o navegador seja o IE.
Se o navegador for netscape ou mozilla teoricamente eu teria que usar o e.which, porém esse comando não está funcionando.
Fala que está indefinido.
Alguém teria alguma idéia ?

function keyAction(e){
			if(document.all){
				var key = event.keyCode;
            window.alert(key);
			}
			else{
				var key = e.which;
				window.alert(key);
			}
		}

valeu,

5 Respostas

Rodrigo_Carvalho_Aul

O que vc tá passando no parâmetro ‘e’? Esse ‘e’ tem que ser o objeto event.

Por exemplo:

<script>
function KeyPressAscCode(objEvent) {
	var Code;

	if (navigator.appName == 'Microsoft Internet Explorer') {
		Code = objEvent.keyCode;
	} else if (navigator.appName == 'Netscape') {
		Code = objEvent.which; 
	}

	alert(Code);
}
</script>

<input type="text" onKeyPress="KeyPressAscCode(event)">

Obs: não adianta vc simplesmente usar event.which, o event tem que vir de algum lugar, no exemplo acima veio do input.

[]'s

louds

cara
capturar teclas no mozilla é trivial, vc usa o onkeypress e acabou, no IE é um parto.

A

“louds”:
cara
capturar teclas no mozilla é trivial, vc usa o onkeypress e acabou, no IE é um parto.

Acho exatamente o contrário. Vc poderia me ajudar então? Estou precisando capturar todas as teclas (alt, shift, setinhas, alfabeto, números, e etc), como faço isso no mozilla?

No IE é assim:

var tecla = window.event.keyCode;
 var shift = window.event.shiftKey;
 var ctrl  = window.event.ctrlKey;
 var alt   = window.event.altKey;

Obrigada

E

justamente. após o usuário digitar um numero e apertar ENTER, preciso fazer um teste pra saber se ele teclou mesmo em ENTER pra fazer umas comparações…mas no firefox não to conseguindo, pois pelo que me parece ele não reconhece o window.event.keyCode, que já vi pesquisando sobre como fazer isso. alguém tem alguma idéia?

T

Olá Pessoal,

Neste link http://tudoprogramado.blogspot.com/2010/01/javascript-mostrar-tecla-que-foi.html tem um exemplo pronto de uma função que identifica qual tecla foi precionada.

Espero ter ajudado.

Criado 9 de dezembro de 2003
Ultima resposta 18 de jan. de 2010
Respostas 5
Participantes 6