prototype.jsを眺めてみると

Event.observe()で起動されたanonymous functionを、Event.stopObserving()で止めたくなった。

が、anonymous functionでvarにとってないのでrefがない。

Event.observe()でキャッシュされたobserverのリストがEvent.observersに入っているのでコイツを見てやればよい。


ところで最新の1.6.0.2だとobserversが無くなっている(!?)。Event.cacheなのね。

http://www.prototypejs.org/assets/2008/1/25/prototype-1.6.0.2.js

ついでにいろいろ見てみたがcurry化のメソッドが標準装備されたり等バージョンを追うごとにコアな方向へいってるな。

prototype.jsが出てきた当初はAjaxが簡単に利用できるライブラリとして出てきたイメージがありますが、それは改める必要があります。 JavaScriptの皮を被りながら、その中身はRuby関数型言語の血が流れています。

Ruby関数型言語の血ねえ…。RubyPerlSmalltalkLispだとすると、Rubyも関数型の血が入ってます。つまり別にRubyの血が入った訳ではなくて定向進化の結果似てきたのだと思います。