1

我有两个元素 ID,a 和 b。我想做这样的事情:

[$('a'), $('b')].addEvent('click', myFunction);

但是该特定代码给出了“TypeError:(中间值).addEvent 不是函数”。

我是否需要显式循环(或复制 addEvent 调用)?

[$('a'), $('b')].each(function(el){
    el.addEvent('click', myFunction);
});

或者

$('a').addEvent('click', myFunction);
$('b').addEvent('click', myFunction);

还是有更清洁的方法?

4

1 回答 1

5

您可以使用 elements 构造函数或让$$( document.getElements) 为您完成。

例子:

// via slick - same as document.getElements 
$$("#a, #b").addEvent('click', fn);

// with existing elements:
$$([el1, el2]).addEvent('click', fn);

// with Elements constructor w/o involving slick if you have them saved
new Elements([el1, el2]).addEvent('click', fn);
于 2013-03-07T11:17:48.923 回答