原型 - 按元素类名称单击事件

时间:2010-10-15 19:58:18

标签: javascript javascript-events prototypejs

我是原型框架的新手,我正在尝试一些非常简单且失败的东西。我试图回复按钮上的点击事件,如下所示:

$$('.btn').observe('click', respond);
function respond(event) {
    alert("hello");
}

为什么这不起作用?请帮忙!

2 个答案:

答案 0 :(得分:22)

与jQuery不同,在Prototype中处理具有多个结果的选择器的工作方式略有不同。您需要使用.each()分别处理每个选定的结果。

$$('.btn').each(function(element) {
    element.observe('click', respond);
})

这是我转移到jQuery的原因之一。另一个原因是:知道jQuery是可销售的并且知道Prototype不是。

答案 1 :(得分:13)

也可以使用单线程来完成,正如有人已在评论中建议的那样:

$$('.btn').invoke('observe', 'click', respond);