Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/07/2007, 18:59
Avatar de MaBoRaK
MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 1 mes
Puntos: 35
Re: varios "handlers" para un evento

loading...............


Pues no, no hay forma de saber cuantos eventos tiene un objeto DOM a menos que hagas una clase que registre los eventos de tus objetos DOM luego la RECORRES y asi sabes cuantas tiene....

Código PHP:
function registrarevento(objeto,evento)
{  
   var 
retornoDelEvento=  objeto.poneselEventoblabla
  
if(!this.eventos)
  {
     
this.eventos={
      
click:[],
      
blur:[],
      
otros:[]
      };
      
this.eventos[evento].push(retornoDelEvento);
   }
   else
   {
      
this.eventos[evento].push(retornoDelEvento);      
   }
}

y para contar cuantos eventos tiene.

alert(tuObjetoDOM.eventos['click'].length); 
Y como se propaga los eventos pues... lo hace desde los hijos llegando la padre...

<div id="padre">
<div id="hijo"></div>
</div>

primero HIJO luego PADRE, pero puedes DETENER LA PROPAGACION

Código PHP:
function queEsLlamadaEnElDivHijo(evento)
{
  var 
evt evento || window.event;
  
//en IE
   
evt.cancelBubble=true;
  
//en Firefox
   
evt.stopPropagation();

Bueno me equivoqué al leer tu pregunta y respondí... a OTRO TIPO DE PREGUNTA pero no está demas mostrarlo.
Cita:
Lo que estas haciendo no es EVENT HANDLERS en tu caso si tienes muchos eventos del mism tipo simplemenre sobreescribirías los que ya existen.

Para event handlers usa.

addEventListener // en Mozilla
attachEvent //en IE

ahora el orden...
en IE se hace así

si tienes 10 eventos onclick.

2
1
4
3
6
5
8
7
10
9

En ese ORDEN .... no me preguntes porque... pero se ejecutan asi solo en el caso IE en los demas browser, en EL ORDEN QUE AÑADISTE LOS EVENTOS.
connection closed.
__________________

Maborak Technologies