Мне нужно прикрепить один обработчик событий к нескольким элементам DOM, используя jQuery. В настоящее время я достигаю этого, используя метод jQuery each () . Смотрите ниже:
$([elm1, elm2, elm3]).each(function() {
this.click(eventHandler);
});
Мне было интересно, есть ли способ сделать это без использования каждого метода и замыкания. Я думал, что смогу сделать что-то вроде:
$(elm1, elm2, elm3).click(eventHandler);
Этот тип операторов работает с использованием Prototype.js, но не в jQuery. Причина, по которой я задаю этот вопрос, заключается в том, что после использования как Prototype.js, так и jQuery я обнаружил, что jQuery требует более простых операторов для выполнения одних и тех же задач почти во всех областях. поэтому я предполагаю, что должен быть лучший способ сделать это?
UPDATE
После некоторой отладки выясняется, что моя первоначальная попытка сделать это с помощью:
$([elm1, elm2, elm3]).click(eventHandler);
Сбой из-за того, что переменные elm1, elm2 и elm3 были созданы с использованием функции $ jQuery. Таким образом, проблема изменилась, и поэтому не работает следующее:
var elm1 = $('#elm1');
var elm2 = $('#elm2');
var elm3 = $('#elm3');
$([elm1, elm2, elm3]).click(eventHandler);
при использовании DOM: 1022 *
var elm1 = document.getElementById('elm1');
var elm2 = document.getElementById('elm2');
var elm3 = document.getElementById('elm3');
$([elm1, elm2, elm3]).click(eventHandler);