Привязка пользовательских функций к событиям DOM в прототипе? - PullRequest
3 голосов
/ 08 сентября 2008

Jquery имеет отличную языковую конструкцию, которая выглядит следующим образом:

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

Как можно догадаться, после загрузки документа пользовательская функция связывается с событием onClick всех тегов a .

Вопрос в том, как мне добиться такого же поведения в Prototype?

Ответы [ 4 ]

8 голосов
/ 08 сентября 2008

Prototype 1.6 предоставляет событие "dom: загружено" в документе:

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

Я также использую итератор каждый в массиве, возвращаемом $$ ().

4 голосов
/ 06 октября 2008
$(document).observe('dom:loaded', function() {
    $$('a').invoke('observe', 'click', function() {
        alert('Hello world!');
    });
});
1 голос
/ 08 сентября 2008

Эта статья дает довольно хороший обзор библиотеки событий Prototype. Я думаю, по сравнению с JQuery, это API каменного века. :)

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

1 голос
/ 08 сентября 2008
Event.observe(window, 'load', function() { 
     Event.observe(element, 'click', function() { 
         alert("Hello World!");
     });
});

Конечно, вы должны сначала выбрать элементы в Prototype.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...