Как сделать вызов функции при нажатии кнопки через javascript?
4 года назад
Andrey Moshkov
Ответы
Чтобы сделать вызов функции при нажатии на кнопку, сначала в html документе создаём кнопку. Например, так:
Теперь переходим в подключенный к html документу javascript файл.
- Объявляем функцию, которую хотим вызывать при нажатии на кнопку:
- Получаем кнопку:
- С помощью метода
addEventListener()добавляем кнопке обработчик событий. Первым аргументом передаем событие в виде строки, в нашем случае это будет клик по кнопке, вторым аргументом передаем функцию, которая вызывается при наступлении события:
Теперь при нажатии кнопки увидим всплывающее окно с надписью Hello, World!.
4 года назад
Кирилл Маркеев
Рн о от ролллтирроллло
3 года назад
Василий Слепцов
Функцию при нажатии на кнопку вызывают через обработчик события click:
Передавайте функцию без скобок: addEventListener('click', save). Со скобками save() функция выполнится сразу при загрузке страницы, а в обработчик попадёт её результат.
С аргументами
Атрибут onclick
Работает, но смешивает HTML и JavaScript. Через onclick можно повесить только один обработчик, а addEventListener позволяет несколько.
Ошибка Cannot read properties of null (reading 'addEventListener')
Скрипт выполнился до того, как кнопка появилась на странице. Решения:
- подключите скрипт перед
</body>; - или добавьте
defer:<script src="app.js" defer></script>.
Кнопка в форме перезагружает страницу
<button> внутри <form> по умолчанию отправляет форму. Укажите type="button" или отмените отправку:
Несколько кнопок
Если кнопки добавляются на страницу позже, повесьте один обработчик на родителя и проверяйте event.target.closest('.like').
В React
События и работу с DOM разбирают в бесплатном курсе «Основы JavaScript».
19 дней назад
Никита Вихров






