2009-05-28 5 views
3

Wie kann ich jede Schaltfläche auf einer HTML-Seite führen die gleiche Funktion mit prototype.js? Ich habe die someElement.observe() -Methode verwendet und es funktionierte für eine Schaltfläche. Aber wie kann ich das für jeden Knopf auf der Seite tun, ohne für jede Taste einzeln zu kodieren?Prototyp Schaltfläche onClick

Antwort

5

Verwenden Sie den CSS-Selektor mehrere Elemente auszuwählen:

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

Sie auch Event-Delegation verwenden können ein Event-Handler auf dem Element zu registrieren, die Ihre Tasten (zB Dokumentkörper) enthält und sich die Tatsache zunutze nehmen dass Ereignisse das DOM aufblasen.

Dadurch wird sichergestellt, dass Ihr Ereignishandler für jede Schaltfläche aufgerufen wird, auch wenn Sie der Seite dynamisch neue Schaltflächen hinzufügen.

z.

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

Sie können dies auch nutzen:

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

}); 
}); 
Verwandte Themen