Associazione di funzioni personalizzate agli eventi DOM nel prototipo?
-
09-06-2019 - |
Domanda
Jquery ha un ottimo costrutto linguistico che assomiglia a questo:
$(document).ready(function() {
$("a").click(function() {
alert("Hello world!");
});
});
Come puoi immaginare, una volta caricato il documento, associa una funzione personalizzata all'evento onClick di tutti UN tag.
La domanda è: come posso ottenere questo stesso tipo di comportamento in Prototype?
Soluzione
Il prototipo 1.6 fornisce il "dom: carico" evento sul documento:
document.observe("dom:loaded", function() {
$$('a').each(function(elem) {
elem.observe("click", function() { alert("Hello World"); });
});
});
Utilizzo anche il ogni iteratore sull'array restituito da $$().
Altri suggerimenti
$(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!");
});
});
Ovviamente devi prima "selezionare" gli elementi in Prototype.
Questo articolo fornisce una panoramica abbastanza buona della libreria eventi di Prototype.Penso che, rispetto a jQuery, questa sia un'API dell'età della pietra.:)
http://alternateidea.com/blog/articles/2006/2/8/working-with-events-in-prototype