• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

# Understanding Event Listeners in JavaScript

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,483
Баллы
155


Event listeners are a fundamental part of interactive web development. They allow your JavaScript code to respond to user actions, such as clicks, keyboard input, or page loading. In this post, we'll explore what event listeners are, the different types, and how to use them effectively.

What Are Event Listeners?


An event listener is a function that waits for a specific event (like a click or keypress) to occur on a DOM element. When the event happens, the listener executes a callback function, enabling dynamic and interactive behavior.

Common Types of Events


Here are some frequently used events in JavaScript:


  • Mouse Events
    • click – When an element is clicked.
    • mouseover / mouseout – When the mouse enters or leaves an element.
    • mousedown / mouseup – When a mouse button is pressed or released.

  • Keyboard Events
    • keydown / keyup – When a keyboard key is pressed or released.
    • keypress – (Deprecated) Fires when a key produces a character.

  • Form Events
    • submit – When a form is submitted.
    • input – When an input field value changes.
    • focus / blur – When an element gains or loses focus.

  • Document/Window Events
    • load – When the page finishes loading.
    • DOMContentLoaded – When the HTML is fully parsed.
    • resize – When the browser window is resized.
How to Use Event Listeners

1. Using addEventListener()


The recommended way to attach an event listener is with addEventListener().


const button = document.querySelector("#myButton");

button.addEventListener("click", function() {
console.log("Button clicked!");
});




Advantages:

  • Allows multiple listeners on the same event.
  • Provides better control with removeEventListener().
2. Inline HTML Event Handlers (Not Recommended)


You can also define events directly in HTML, but this approach is outdated and harder to maintain.


<button onclick="handleClick()">Click Me</button>

<script>
function handleClick() {
console.log("Button clicked!");
}
</script>



3. Removing Event Listeners


To stop listening to an event, use removeEventListener().


function handleClick() {
console.log("Button clicked!");
}

button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick); // Removes the listener



Event Object


When an event occurs, the callback function receives an event object containing useful properties and methods.


button.addEventListener("click", (event) => {
console.log(event.target); // The element that triggered the event
event.preventDefault(); // Prevents default behavior (e.g., form submission)
});



Event Delegation


Instead of adding listeners to multiple elements, you can use event delegation by listening on a parent element.


document.querySelector("#list").addEventListener("click", (event) => {
if (event.target.matches("li")) {
console.log("List item clicked:", event.target.textContent);
}
});



Conclusion


Event listeners are essential for creating interactive web applications. By using addEventListener(), you can efficiently handle user interactions while keeping your code clean and maintainable.

Have questions? Drop them in the comments! ?



Источник:

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу