$$
peut récupérer des éléments par le sélecteur de css, y compris par classe via le period notation.
:
$$('.myClass'); // array with all elements that have class "myClass"
Pour répondre à votre question, Event.observe
est la version "statique" de observe
(pour toutes fins utiles). En tant que prototype de commodité automagically makes .observe
available off of all DOM elements (tiré par les cheveux avec soit $
ou $$
):
Exemples:
// get one item by id with $ and attach an event listener:
$('myId').observe(eventName, handler);
// get many items by class with $$ and attach an event listener:
$$('.myClass').each(function(element) {
element.observe(eventName, handler);
});
// or shorter:
$$('.myClass').invoke('observe', eventName, handler);
son ne fonctionne pas pour IE – Miral
Le problème avec seulement être en mesure d'observer les événements sur les éléments individuels (même avec le '$ $ ('...'). each() 'méthode ci-dessus) est que tous les éléments doivent déjà exister lorsque vous attachez l'événement, de sorte que vous n'écoutez pas de manière dynamique les événements de cette classe. – JMTyler