Есть ли способ (natvie JS или JQuery) зарегистрировать один и тот же тип события в списке элементов?
Если возможно, я хочу избежать повторения регистрации события по нескольким элементам, по одному за раз.
Идеальный (псевдо) код:
$({elem1, elem2, elem3}).on("keyup", function() {
// Do the same when each one of these elements gets focus
});
С помощью jQuery:
Для ссылок на кешированные элементы вы можете использовать add:
$(elem1).add(elem2).add(elem3).on("keyup", function() {
// Do the same when each one of these elements gets focus
});
Или, чтобы выбрать несколько элементов по имени и т.д.
$(".one, .two, .three").on("keyup", function() {
// Do the same when each one of these elements gets focus
});
Если у вас есть динамический массив ссылок на кешированные элементы:
var cache = [elem1, elem2, elem3]; // could be any length, added to dynamically etc...
var $collection = $(); // new empty jQuery object
// add each item to the jQuery object
for(var i = 0; i < cache.length; i++) {
$collection = $collection.add(cache[i]);
}
$collection.on("keyup", function() {
// Do the same when each one of these elements gets focus
});
Ты можешь сделать,
$("#id1, .class2, #id3").on("keyup", function() {
//code
});
document.querySelectorAll("div, a")
$('li.user-record').on('keyup', onUserRecordKeyUp);
,