Ver Mensaje Individual
  #23 (permalink)  
Antiguo 25/10/2011, 10:11
javierGarciaX
 
Fecha de Ingreso: octubre-2011
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: window.event.keyCode en FireFox

Mmm veo que el foro es super viejo pero ando con esta duda, no logro hacer que me funcione en firefox, hago un buscador predictivo con una libreria que encontre por internet la cual he modificado en algunas cositas para que me funciona para cualquier finalidad, en IE me funciona perfecto pero en Firefox 7 falla al detectar la tecla.

Creo el DOM
function nDAdi(noRen)
{
var cDevo = document.getElementById("cDevo"+noRen).value;

if(cDevo > 0){
var esta = document.getElementById("esta"+noRen).value;

if(esta == 3 || esta == 4){

var myBody = document.getElementById("cAdi"+noRen);
var myInput = document.createElement("input");
myInput.type = "text";
myInput.name = "nItem"+noRen;
myInput.id = "nItem"+noRen;
myInput.size = "15";
myInput.value = "";
myInput.style.boderColor = "#A44747";
myInput.onkeyup = function(){
autocompleta(this.name,'auto/itemReu','suge'+noRen, 'event');
}
myBody.appendChild(myInput);

var myDiv = document.createElement("div");
myDiv.id = "suge"+noRen;
myDiv.className = "sAjax";
myBody.appendChild(myDiv);
}
else{
document.getElementById("cAdi"+noRen).innerHTML = "";
}
}
else{
document.getElementById("esta"+noRen).value = "";
}
}

y el evento autocompleta hace varias cosas solo voy a montar la parte que me falta
function autocompleta(nombreCampo,nombreArchivo,cSuge,e) {
var tecla = teclaX(e);
alert(tecla)
if(tecla == 40) { // Flecha Abajo
if(elementoSeleccionado+1 < sugerencias.length) {
elementoSeleccionado++;
}
muestraSugerencias(cSuge,nombreCampo);
}
else if(tecla == 38) { // Flecha Arriba
if(elementoSeleccionado > 0) {
elementoSeleccionado--;
}
muestraSugerencias(cSuge,nombreCampo);
}
else if(tecla == 13) { // ENTER o Intro
seleccionaElemento(nombreCampo,cSuge);
}... sigue

y la otra funcion es esta
function teclaX(e) { // 1
tecla = (document.all) ? te = window.event.keyCode : e.which; // 2
if (tecla==8) return true; // 3
//te = String.fromCharCode(tecla); // 5
return te; // 6
}

Y me devuelve un blanco en Firefox agradezco si me puede ayudar.