2009-05-28 9 views
3

Comment puis-je avoir chaque bouton sur une page html effectuer la même fonction en utilisant prototype.js? J'ai utilisé la méthode someElement.observe() et cela a fonctionné pour un bouton. Mais comment puis-je faire cela pour chaque bouton sur la page sans coder séparément pour chaque bouton?Prototype button onClick

Répondre

5

Utilisez le sélecteur CSS pour sélectionner plusieurs éléments:

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

Vous pouvez également utiliser la délégation d'événement pour enregistrer un gestionnaire d'événements sur l'élément qui contient vos boutons (par exemple, le corps du document) et tirer profit du fait que les événements remontent le DOM. Cela garantira que votre gestionnaire d'événements est appelé pour chaque bouton, même si vous ajoutez de nouveaux boutons dynamiquement à la page.

E.g.

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

Vous pouvez utiliser aussi:

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

}); 
});