2010-02-05 6 views

Répondre

22

$$ 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); 
+0

son ne fonctionne pas pour IE – Miral

+0

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

Questions connexes