我有两个元素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);
或者有更清洁的方式吗?
答案 0 :(得分:5)
您可以使用元素构造函数或让$$
(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);