2013-03-07 62 views
1

我有两个元素ID,a和b。我想要做这样的事情:如何在mootools中通过id一次将事件添加到多个元素?

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

但该特定代码的赋予“类型错误:(中间值).addEvent不是一个函数”。

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

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

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

或者是有一个更清洁的方式?

回答

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); 
相关问题