1

a と b の 2 つの要素 ID があります。私はこのようなことをしたい:

[$('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

要素コンストラクターを使用するか、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);
于 2013-03-07T11:17:48.923 に答える