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

时间:2020-03-05 18:49:19  来源:igfitidea点击:

jQuery具有出色的语言结构,如下所示:

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

我们可能会猜到,一旦文档加载完毕,就会将自定义函数绑定到所有标记的onClick事件。

问题是,如何在原型中实现这种行为?

解决方案

回答

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

当然,我们需要首先在"原型"中"选择"元素。

回答

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

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

回答

原型1.6在文档上提供了" dom:loaded"事件:

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!');
    });
});