2013-03-07 31 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); 
相關問題