2011-12-08 29 views
2

AJAXによって読み込まれた要素にイベントを追加するにはどうすればよいですか?動的に生成された要素にイベントを追加する

jQueryはliveですが、Mootoolsに相当するものは何ですか?例えば

window.addEvent('domready', function() { 
    // some code which loads new elements by ajax 

    // Filter 
    $$('.filterButton').addEvent('click', function(event) { 
     alert('wow'); 
    }); 
}); 
+0

[mootoolsでjQueryライブバインドイベントを実装する方法は?](http://stackoverflow.com/questions/2107892/how-to-implement-a-jquery-live-bind-event-on- mootools)。質問を投稿する前に検索していますか? 'mootools jquery live equivalent 'という言葉をGoogleの検索ボックスに入れると、すぐに答えが得られます。そしてそれは意外にもStackOverflow上にある:-)私はそれを行うには約10秒かかり、おそらくあなたがショートカットを開いてGoogleを検索している場合はそれよりも少ない。 –

+0

その答えは非常に古くなっているので、彼は尋ねた。 –

答えて

7

MooToolsは等価であるeventがバブリング標準(クリック、マウスオーバー/アウト/脱退/など入る)または非バブリングすることができるdelegatorElement.addEvent("event:relay(mask)", fn);介して(ぼかし、フォーカス、変更等) 。それがここにdocument.id("delegatorId")

以上のように、DOMアップ上位要素にイベントを追加する方が良いでしょう

$(document.body).addEvent("click:relay(.filterButton)", function(event, element) { 
    console.log(event, element === this); // event obj, true 
}); 

:ようになり、あなたのコード内の

http://mootools.net/docs/core/Element/Element.Delegation

イベントの委任は、1.4よりもmootools-coreにあります。以前はmootoolsにいましたが、それ以前はクストーを意味していますmビルド。

関連する問題