2009-06-15 5 views

Répondre

1

Au meilleur de mes connaissances, il n'y en a pas. Pas en prototype, et pas en JavaScript vanille.

L'API du prototype est disponible à http://prototypejs.org/api mais juste après avoir pris un autre coup d'oeil pour être sûr, il ne semble pas y avoir moyen de le faire. Cependant, une option pour vous est de créer votre propre registre.

Modifier

par exemple:

var EventRegistry = function() { 
    var events=[]; 
    this.addEvent = function (element, func) { 
     events.push({element:element,func:func}); 
     element.observe(func); 
    } 

    this.clearEvents = function(element) { 
     events = events.reject(function(e) { 
      if (e.element == element) { 
       e.element.stopObserving(e.func); 
       return true; 
      } else return false; 
     }); 
    } 

    this.clearAllEvents = function (element) { 
     events.each(function(e) { e.element.stopObserving(e.func); }); 
     events = []; 
    } 
}(); 

(Note:. Non testé)

+0

qui est irritant ... Est-ce que quelqu'un sait comment prototype gère les observateurs? Y a-t-il une variable qui pourrait les énumérer? –

Questions connexes