Привязать обработчик событий к нескольким переменным элементов в jQuery?

Я хочу связать несколько элементов, которые определены в качестве переменной. Я знаю, что это возможно:

$('selector1, selector2').bind(...)

но я хочу сделать что-то вроде этого:

$($element1, $element2, $element3).bind(...)

какие идеи?

2 ответов


вы должны добавить их в один результирующий набор:

$element1.add($element2).add($element3).bind(...)

или для произвольного количества элементов:

var elems = [$element1, $element2, $element3, ...];
var $result = $();

$.each(elems, function() {
    $result = $result.add(this);
});

$result.bind(...);

или Array.reduce:

[$element1, $element2, $element3, ...].reduce(function($result, $elem) {
    return $result.add($elem);
}, $()).bind(...);

можно использовать add ();

var $all = $element1.add($element2).add($element3).bind( ... ); //.add(...)