StudyCode
Клики, ввод, отправка форм — как реагировать на действия пользователя.
const btn = document.querySelector("button");
// Слушатель события:
btn.addEventListener("click", function() {
console.log("Кнопка нажата!");
});
// Или стрелочная функция:
btn.addEventListener("click", () => {
alert("Клик!");
});btn.addEventListener("click", (event) => {
console.log(event.target); // элемент, на который кликнули
console.log(event.type); // "click"
console.log(event.clientX); // координата X мыши
event.preventDefault(); // отменить стандартное поведение
});// Мышь
element.addEventListener("click", handler); // клик
element.addEventListener("dblclick", handler); // двойной клик
element.addEventListener("mouseover", handler); // навести мышь
element.addEventListener("mouseout", handler); // убрать мышь
// Клавиатура
document.addEventListener("keydown", (e) => {
console.log(e.key); // "a", "Enter", "ArrowLeft"...
if (e.key === "Escape") closeModal();
});
// Инпут
input.addEventListener("input", (e) => console.log(e.target.value));
input.addEventListener("change", (e) => console.log("изменился и потерял фокус"));
input.addEventListener("focus", () => console.log("получил фокус"));
input.addEventListener("blur", () => console.log("потерял фокус"));
// Страница
window.addEventListener("load", () => console.log("страница загружена"));
window.addEventListener("scroll", () => console.log("прокрутка"));
window.addEventListener("resize", () => console.log("размер окна изменился"));// Интерактивная кнопка "лайк"
const likeBtn = document.querySelector("#like-btn");
const likeCount = document.querySelector("#like-count");
let count = 0;
let liked = false;
likeBtn.addEventListener("click", () => {
liked = !liked;
count += liked ? 1 : -1;
likeCount.textContent = count;
likeBtn.textContent = liked ? "❤️ Убрать лайк" : "🤍 Лайк";
likeBtn.classList.toggle("active", liked);
});Что делает `event.preventDefault()`?
Нажми на узел дерева — подсветит соответствующую HTML-строку слева.