Este codigo permite adaptar los eventos tanto en IE como en Firefox, no puedo asegurar que funcione en otros navegadores Opera, Safari, etc.
En este ejemplo se "captura" el objeto donde se desea que se ejecute el codigo de acuerdo al evento (En este caso presionar Enter en un objeto que su ID es 'criterio')
Espero que te sirva de ayuda o al menos te hagas una idea.
Código:
//Esta línea llama a la funcion InicializarEventos
addEvent(window,'load',inicializarEventos,false);
function inicializarEventos()
{
// Aquie obtienes mediante DOM el control a traves de su ID
var ob1=document.getElementById('criterio');
// Se le agrega al objeto el evento que deseamo (en este caso keypress), y la funcion ('presionar') que se va a ejecutar al generarse el evento...
addEvent(ob1,'keypress',presionar,false);
}
//Aqui se indica que cuando se presione Enter se ejecute alguna funcion o instrucciones
function presionar(e)
{
//Esta parrte es para IE
if (window.event)
{
if (window.event.keyCode==13)
{nom_funcion()}// Aqui escribe el nombre tu funcion que hace la busqueda...
}
else
//Esto es para Firefox y creo otros navegadores
if (e)
{
if(e.which==13)
{nom_funcion()}//Igual que arriba
}
}
//Lo que hace la funcion addEvent es agregar la funcion para IE u otros navegadores, en IE es attachEvent y en los otros navegadores es addEventListener, fijense como se antepone el "on" para hacer referencia al evento para IE mientras que en los otros navegadores no es necesario...
function addEvent(elemento,nomevento,funcion,captura)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+nomevento,funcion);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,captura);
return true;
}
else
return false;
}
Pueden revisar el post complero aqui:
http://www.forosdelweb.com/f13/llamar-funcion-javascript-mediante-enter-586628/
Saludos...