Cytat(vokiel @ 16.09.2010, 16:06:15 )

A przez prototyp?
BLIP.prototype.dashboardInputWidget = function (f) {
//Twój kod
}
luknij na przykładowy kodzik

- zmienna definiowana {} - nie ma typowego konstruktora... a prototype służy do predefiniowania zmiennych i metod - jeśli Ci się podoba to w konstruktorze można nadpisać metodę... lub można nadpisać na żywca [a.nierusz = function(){alert('wylotka');};] po utworzeniu instancji obiektu -> wtedy oczywiście każdy obiekt ma inną metodę o tej nazwie
Cytat(erix @ 16.09.2010, 15:43:32 )

I cały czas mnie daje się we znaki jeden problem: czy można w jakiś sposób podmienić funkcję zdefiniowaną jako prywatną?
można to zrobić tylko za pomocą metod definiowanych w tym samym konstruktorze [zmienna prywatna w obiekcie do której mają zasięg metody - jednak w metodach nie nadpisywać definicji zmiennej] - metody definiowane w prototypie funkcji [a.prototype={metody} lub a.prototype.metoda=fn] nie mają do nich dostępu...
w podanym przez Ciebie przykładzie jest to zmienna prywatna ale funkcji a nie obiektu - więc musisz zrobić raczej tak jak radzi @wookieb
skoro napisałeś z dużej litery Prototype to raczej miałeś na myśli bibliotekę - akurat jej nie znam więc nie wiem jak to rozwiązali [ale obiekt nasłuchujący powinien mieć publiczne metody - u siebie gdy mam wiele zdarzeń to jest kolejna numeracja i metody mają nazwy generowane typu '_.!*[]-+=_numer-kolejny_typ-zdarzenia' - oczywiście nasłuchuje jedna metoda o nazwie 'nazwa-zdarzenia' przypięta z listenera gdzie jest dostęp do zmiennych listenera - ale prywatnych gdyż this jest potem w innym kontekście - a te inne dziwne metody o tych nazwach tak są przypisywane by móc definiować funkcje w ewent_listenerze z użyciem this]... jeśli nie i korzystasz z jakichś "magicznych" metod opery to rozwiązaniem byłby raczej własny prototyp funkcji eventDispatcher oraz eventDelegate
trochu się rozpisałem - ale znając zasadę w jaki sposób przypisywane są zdarzenia na 90% istnieje sposób ingerencji w nie...
[EDIT]
----------------------------------------------------------------
Cytat(erix @ 16.09.2010, 15:43:32 )

I jak wywołać moją funkcję przed tą zdefiniowaną w powyższej zmiennej? Callback jest wywoływany przez
Event.observe w Prototype.
Jak się nie da, to chociaż w jaki sposób wepchnąć swoje zdarzenie na początek kolejki handlerów dla zdarzeń danego obiektu?
unobserve tylko zdejmuje, ale już nie zwraca uchwytu do poprzedniego callbacka

teraz sobie zajrzałem do kodu biblioteki Prototype - po mojemu listę uchwytów zdarzeń możesz pobrać przez:
Element.retrieve(element, 'prototype_event_registry').get(eventName);
co się pokrywa z tym co znalazłem w google wpisując niekture nazwy z metody observe
Update: How to find event listeners on a DOM node in prototype? - więc masz 2 drogi do wyboru...
swojego kodu nie sprawdzałem ale funkcja _createResponder także potwierdza to co widzę w kodzie