Prototype.jsでjQueryの.liveのような動きをする書き方
Ajaxで持って来たコンテンツに後からイベント追加したいなと思い、Prototype.jsにjQueryの.liveのような機能がないのかなと調べた。
結果、同じような質問があった。
後から生成された要素も含め、class="foo"を持つ要素に対してのclickイベントをjQueryで書いた場合がこれ。
$(".foo").live("click", function(e) { // bar });
これと同じ動きをPrototype.jsで書くとこれ。
document.observe('click', function(e, el) { if (el === e.findElement('.foo')) { // there's your `el` // might want to stop event at this point - e.stop() } });
document全体のclickイベント見張っておいて、clickされた要素がclass="foo"なら実行
という動き。
今のPrototype.jsにはコレ用のAPIがあったりするのかもだけど、ざっとAPIのページを見た感じではわからなかった。
つか、探しにくくてわからない。