如何在mootools中通过id一次向多个元素添加事件?

Nat*_*tch 1 mootools

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

[$('a'), $('b')].addEvent('click', myFunction);
Run Code Online (Sandbox Code Playgroud)

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

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

[$('a'), $('b')].each(function(el){
    el.addEvent('click', myFunction);
});
Run Code Online (Sandbox Code Playgroud)

要么

$('a').addEvent('click', myFunction);
$('b').addEvent('click', myFunction);
Run Code Online (Sandbox Code Playgroud)

还是有更干净的方式?

Dim*_*off 5

你可以使用元素构造函数或let $$(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);
Run Code Online (Sandbox Code Playgroud)