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é)
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? –