как использовать «addEventListener» для нескольких объектов - PullRequest
0 голосов
/ 25 февраля 2020

Каждый раз, когда я пытаюсь использовать «addEventListener», чтобы выбрать все 3 «li», образуя «ul», я получаю сообщение о том, что моя переменная не является функцией.

var lis = document.querySelectorAll("li");
lis.addEventListener
//i get 
lis.addEventListener is not a function

Однако, если я попытаюсь выбрать каждый "li" по отдельности, он будет работать нормально. Не могли бы вы помочь с этой проблемой. Большое спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

используйте querySelectorAll () вместо

const lists = document.querySelectorAll('li');

lists.forEach((list) => {
  list.addEventListener('click', () => {
    // work here
  })
})
0 голосов
/ 25 февраля 2020

querySelectorAll сохраняет все элементы li в массив. так что вам нужно будет l oop через каждый 'li', чтобы добавить прослушиватель событий.

var lis = document.querySelectorAll('li');

lis.forEach(function(li) {
  li.addEventListener('click', function() {
    //handle event here
  })
})
...