Как достать имя кнопки при нажатии на нее

Рейтинг: 0Ответов: 1Опубликовано: 22.07.2023

Пытаюсь понять. На сайте много одинаковых кнопок с одинаковыми классами и т.д. Полностью идентичны кроме содержимого кнопок. Как сделать так, чтобы при нажатии на кнопку, взять в переменную именно данные из той, на которую нажал

Ответы

▲ 0

Можно повесить слушатель на контейнер, в котором находятся все кнопки, и при клике проверять, имеет ли нажатый элемент класс кнопки, если имеет, то проводить над ним какие-нибудь действия. В примере кнопка меняет цвет и выводится модальное окно с текстом кнопки:

const buttons = document.querySelector('.buttons'); //Получаем контейнер кнопок

buttons.addEventListener('click', function(event) { //Вешаем обработчик на контейнер с кнопками

  if (event.target.closest('button')) { //Если нажатый элемент оказался кнопкой, то продолжаем выполнение кода

    const targetButton = event.target;
    targetButton.classList.toggle('active') //Добавление или удаление класса при клике
    alert(targetButton.textContent) //Вывод текста кнопки
  }
})
.active {
  background: #0f0;
}
<div class="buttons">
  <button class="button">Кнопка 1</button>
  <button class="button">Кнопка 2</button>
  <button class="button">Кнопка 3</button>
  <button class="button">Кнопка 4</button>
  <button class="button">Кнопка 5</button>
</div>