2009-05-28 8 views
3

htmlページのすべてのボタンをprototype.jsを使用して同じ機能を実行させるにはどうすればよいですか? someElement.observe()メソッドを使用しましたが、これは1つのボタンで機能しました。しかし、ボタンごとに別々にコーディングすることなく、ページ上のすべてのボタンに対してこれをどうすればできますか?プロトタイプボタンonClick

答えて

5

複数の要素を選択するにはCSSセレクタを使用します。

$$('input[type="button"]').observe(...) 
3

あなたはまた、あなたのボタンが含まれている要素の一つのイベントハンドラ(例えば文書本体)を登録し、事実を利用するには、イベントの委任を使用することができますその出来事がDOMを泡立てる。

これは、あなたが動的ページに新しいボタンを追加した場合でも、あなたのイベントハンドラは、すべてのボタンのために呼ばれていることを保証します。

など。

document.observe('click', function(event) 
{ 
    var elem = event.element(); 
    if (elem.match('input[type="button"]')) 
    { 
    // Do your event handler 
    } 
}); 
1

また、これを使用することができます:

Event.observe(window, 'load', function(){ 
$('idForm').getInputs('radio', 'nameRadio').each(function(el){ 
el.onclick = function(){ 
//Actions<br> 

}); 
});