読者です 読者をやめる 読者になる 読者になる

Prototype.jsでjQueryの.liveのような動きをする書き方

Ajaxで持って来たコンテンツに後からイベント追加したいなと思い、Prototype.jsjQueryの.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のページを見た感じではわからなかった。
つか、探しにくくてわからない。