イベントデリゲートは、イベントハンドラをDOMツリーの上に吊るすだけです。すべてのフレームワークはそれを行うことができる/できなければなりません。ハンドラは、泡立つようなイベントをピックアップすることができます。このイベントには、それをトリガした要素が含まれており、ハンドラはその処理を行うことができます。
Prototypeには、jQueryの$.fn.live
のようなライブラリにネイティブなイベントデリゲーションの砂糖は含まれていませんが、イベントをキャッチしてターゲット要素で処理するのはかなり簡単です。
document.observe('click',function(event){alert(event.element().inspect())})
あなたは(私はこれがうまく実行か何かだろうと言っておりません)かなり簡単にjQueryのライブのクローンを作成するためにこれを使用することができます。
live = function(selector,callback){
document.observe("click",function(e){
var element = e.element()
if (!element.match(selector))
element = element.ancestors().find(function(elem){return elem.match(selector)});
else
element = null
if (element)
callback.apply(element)
})
}
あなたはそれが好きで呼び出すことができます。
live("div",function(){this.setStyle({color:'blue'})})
私は私が言っている何推測は代表団が既にJavaScriptに組み込まれているイベントです。図書館は砂糖を加えるだけです。
OK。それから、どのライブラリにイベント委任がないのですか? :-) – Nosredna