Привязка пользовательских функций к событиям DOM в прототипе?

StackOverflow https://stackoverflow.com/questions/49599

  •  09-06-2019
  •  | 
  •  

Вопрос

В Jquery есть отличная языковая конструкция, которая выглядит примерно так:

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

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

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

Это было полезно?

Решение

Прототип 1.6 обеспечивает "дом: загружен" событие в документе:

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

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

Другие советы

$(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!");
     });
});

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top