Привязать обработчик событий к нескольким переменным элементов в 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(...)