将自定义函数绑定到原型中的DOM事件?

时间:2008-09-08 12:46:09

标签: javascript dom prototypejs

Jquery有一个很好的语言结构,如下所示:

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

正如您可能猜到的那样,文档加载后,将自定义函数绑定到所有 a 标记的onClick事件。

问题是,如何在Prototype中实现同样的行为?

4 个答案:

答案 0 :(得分:8)

Prototype 1.6在文档中提供"dom:loaded"事件:

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

我还在each()返回的数组上使用$$迭代器。

答案 1 :(得分:4)

$(document).observe('dom:loaded', function() {
    $$('a').invoke('observe', 'click', function() {
        alert('Hello world!');
    });
});

答案 2 :(得分:1)

Event.observe(window, 'load', function() { 
     Event.observe(element, 'click', function() { 
         alert("Hello World!");
     });
});

当然,您需要首先在Prototype中“选择”元素。

答案 3 :(得分:1)

本文对Prototype的事件库进行了很好的概述。我认为,与jQuery相比,这是一个石器时代的api。 :)

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