Frage

Jquery hat ein großartiges Sprachkonstrukt, das so aussieht:

$(document).ready(function() {
    $("a").click(function() {
        alert("Hello world!");
    });
});

Wie Sie vielleicht erraten haben, bindet es nach dem Laden des Dokuments eine benutzerdefinierte Funktion an das onClick-Ereignis aller A Stichworte.

Die Frage ist, wie kann ich dasselbe Verhalten in Prototype erreichen?

War es hilfreich?

Lösung

Prototyp 1.6 bietet die „dom:loaded“ Ereignis auf Dokument:

document.observe("dom:loaded", function() {
    $$('a').each(function(elem) {
        elem.observe("click", function() { alert("Hello World"); });
    });
});

Ich benutze auch die jede Iterator für das von zurückgegebene Array $$().

Andere Tipps

$(document).observe('dom:loaded', function() {
    $$('a').invoke('observe', 'click', function() {
        alert('Hello world!');
    });
});
Event.observe(window, 'load', function() { 
     Event.observe(element, 'click', function() { 
         alert("Hello World!");
     });
});

Natürlich müssen Sie die Elemente zuerst in Prototype „auswählen“.

Dieser Artikel gibt einen ziemlich guten Überblick über die Event-Bibliothek von Prototype.Ich denke, im Vergleich zu jQuery ist dies eine Steinzeit-API.:) :)

http://alternateidea.com/blog/articles/2006/2/8/working-with-events-in-prototype

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top