
В этом разделе вы научитесь добавлять обработчики событий `click` к элементам на веб-странице с помощью JavaScript. Вы узнаете, как сделать элементы интерактивными, реагируя на действия пользователя. Задания начинаются с простых изменений текста и стилей, и постепенно усложняются, включая добавление и удаление элементов, а также использование `event.target` для определения источника события. Вы сможете закрепить знания о DOM и обработке событий, что является важной частью веб-разработки.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Изменение текста при клике
Добавьте обработчик события `click` к кнопке. При нажатии на кнопку текст внутри элемента с id "myParagraph" должен измениться на "Новый текст".
<p id="myParagraph">Исходный текст</p>
<button id="myButton">Нажми меня</button>
document.getElementById("myButton").onclick = function() {
document.input__1("myParagraph").input__2 = "Новый текст";
};
Изменение цвета фона
Добавьте обработчик события `click` к кнопке. При клике цвет фона элемента с id "myDiv" должен стать красным.
#myDiv { width: 100px; height: 100px; background-color: lightgray; }
<div id="myDiv"></div>
<button id="myButton">Изменить цвет</button>
document.getElementById("myButton").onclick = function() {
document.getElementById("myDiv").style.input__1 = "red";
};
Добавление класса
Добавьте обработчик события `click` к кнопке. При клике к элементу с id "myParagraph" должен добавляться класс "highlight".
.highlight { background-color: yellow; }
<p id="myParagraph">Текст для выделения</p>
<button id="myButton">Выделить</button>
document.getElementById("myButton").onclick = function() {
document.getElementById("myParagraph").classList.input__1("highlight");
};
Переключение класса
Добавьте обработчик `click` к кнопке. При каждом клике класс "highlight" должен добавляться или удаляться у элемента с id "myParagraph".
.highlight { font-weight: bold; }
<p id="myParagraph">Текст для переключения</p>
<button id="myButton">Переключить</button>
document.getElementById("myButton").input__1 = function() {
document.getElementById("myParagraph").classList.input__2("highlight");
};
Скрытие/отображение элемента
Добавьте обработчик `click` к кнопке. При клике элемент с id "myImage" должен скрываться, если он видим, и отображаться, если он скрыт.
<img id="myImage" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png" alt="Картинка">
<button id="myButton">Скрыть/Показать</button>
document.getElementById("myButton").onclick = function() {
let img = document.getElementById("myImage");
if (img.style.display === "none") {
img.style.display = "input__1";
} else {
img.style.display = "input__2";
}
};
Изменение атрибута src
Добавьте обработчик события `click` к кнопке. При нажатии на кнопку, атрибут `src` у изображения с id="myImage" должен меняться на другую картинку.
<img id="myImage" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png" alt="Картинка 1">
<button id="myButton">Сменить картинку</button>
document.getElementById(input__1).onclick = function() {
document.getElementById("myImage").src = "https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike3-300x300.png";
};
Увеличение счетчика
Добавьте обработчик `click` к кнопке. При каждом клике значение в элементе с id "counter" должно увеличиваться на 1.
<p>Счетчик: <span id="counter">0</span></p>
<button id="myButton">Увеличить</button>
document.getElementById("myButton").onclick = function() {
let count = parseInt(document.getElementById("counter").input__1);
count = input__2 + 1;
document.getElementById("counter").textContent = count;
};
Анимация при клике (простое изменение)
Добавьте обработчик `click` к квадрату. При клике его ширина должна увеличиваться на 20 пикселей.
#mySquare { width: 50px; height: 50px; background-color: blue; }
<div id="mySquare"></div>
document.getElementById("mySquare").onclick = function() {
let width = parseInt(getComputedStyle(document.getElementById("mySquare")).width);
document.getElementById("mySquare").style.width = (width + input__1) + "px";
};
Вывод сообщения в console.log
Добавьте обработчик события `click` к кнопке. При нажатии на кнопку должно появляться всплывающее окно с сообщением "Привет, мир!".
<button id="myButton">Нажми меня</button>
document.getElementById("myButton").onclick = function() {
input__1("Привет, мир!");
};
Вызов функции при клике
Добавьте обработчик `click` к кнопке, который вызывает функцию `myFunction`.
<button id="myButton">Вызвать функцию</button>
function myFunction() {
console.log("Функция вызвана!");
}
document.getElementById("myButton").onclick = input__1;
Передача аргумента в функцию при клике
Добавьте обработчик `click` к кнопке, который вызывает функцию `showMessage` и передает ей аргумент "Клик!". Функция `showMessage` должна выводить переданный аргумент в `console.log`.
<button id="myButton">Передать сообщение</button>
function showMessage(message) {
console.log(message);
}
document.getElementById("myButton").onclick = function() {
showMessage(input__1);
};
Использование this
Добавьте обработчик события `click` к кнопке. При клике на кнопку, измените её текст на "Нажато!". Используйте `this` для ссылки на кнопку внутри обработчика.
<button id="myButton">Нажми меня</button>
document.getElementById("myButton").onclick = function() {
input__1.textContent = "Нажато!";
};
Удаление обработчика события
Добавьте обработчик `click` к кнопке, который выводит сообщение в `console.log`. Затем добавьте вторую кнопку, при клике на которую первый обработчик должен удаляться.
<button id="addButton">Добавить обработчик</button>
<button id="removeButton">Удалить обработчик</button>
function show() {
console.log('Обработчик работает!');
}
document.getElementById("addButton").onclick = show;
document.getElementById("removeButton").onclick = function() {
document.getElementById("addButton").onclick = input__1;
};
Предотвращение действия по умолчанию
Добавьте обработчик события `click` к ссылке. Предотвратите переход по ссылке при клике.
<a id="myLink" href="https://www.example.com">Ссылка</a>
document.getElementById("myLink").onclick = function(event) {
input__1.preventDefault();
console.log("Переход по ссылке отменен!");
};
Всплытие событий
Добавьте обработчики `click` к родителю и потомку. Понаблюдайте за порядком вывода сообщений в `console.log` при клике на потомка.
#parent { padding: 20px; background-color: lightgray; }
#child { padding: 10px; background-color: lightblue; }
<div id="parent">
Родитель
<div id="child">Потомок</div>
</div>
document.getElementById("parent").onclick = function() {
console.log("Обработчик родителя");
};
document.getElementById("child").onclick = function() {
console.log(input__1);
};