JS властивість Event.mouseleave
Загальний опис
Подія mouseleave виникає, коли курсор миші виходить за межі елемента, на якому зареєстровано цю подію. Вона не враховує дочірні елементи, тобто не активується, коли курсор миші пересувається на дочірні елементи, як це відбувається з подією mouseout. Це робить її корисною для сценаріїв, де потрібно обробляти взаємодію з конкретним елементом, не звертаючи уваги на внутрішню структуру.
Основною відмінністю mouseleave від події mouseout є те, що mouseleave активується лише один раз, коли курсор покидає весь елемент, а не його дочірні частини. Наприклад, у складних компонентах з кількома елементами всередині, таких як випадаючі меню або картки товарів, подія mouseleave не буде повторно викликана, коли курсор переміщується між дочірніми елементами.
Щоб використовувати подію mouseleave, можна скористатися стандартним методом addEventListener. Наприклад:
const box = document.getElementById('box');
box.addEventListener('mouseleave', function() {
console.log('Курсор покинув елемент.');
});
Об'єкт події надає корисну інформацію, таку як координати миші (clientX, clientY), і можна перевірити, на який саме елемент курсор миші виходить, використовуючи властивість relatedTarget. Це може бути корисно для більш детального аналізу взаємодії з елементом.
Типові сценарії використання події mouseleave включають реалізацію ефектів зникнення або приховання елементів після того, як користувач залишив їх область. Наприклад, це може бути корисно для зменшення зображень, закриття підказок або вимкнення додаткових анімацій.
- Порада
-
Якщо на сторінці є інтерактивні елементи, які повинні закриватися або змінювати свій стан після того, як курсор покине їх область, подія
автор: Bondmouseleaveє ідеальним вибором. Наприклад, ви можете автоматично закрити спливаюче вікно або підказку після того, як курсор вийде за межі цього елемента. - Порада
-
Для створення анімацій з прихованням або зміною стилю при виході миші з елемента рекомендується комбінувати події
автор: Bondmouseenterіmouseleave. Це дозволяє чітко відстежувати, коли миша входить в елемент і залишає його, що зручно для керування ефектами. - Порада
-
Не забудьте перевіряти координати курсора через
автор: BondclientXіclientY, коли обробляєте подіюmouseleave. Це корисно, коли потрібно дізнатися, куди саме пішов курсор після покидання елемента, що може допомогти в адаптації поведінки елемента до контексту.
Синтаксис
element.addEventListener('mouseleave', function(event) {
// Обробка події
});
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 66 | 57 | 11.1 | 53 | 16 |
| Переглядач | ||||
|---|---|---|---|---|
| 66 | 66 | 57 | 11.3 |
| Переглядач | ||
|---|---|---|
| 15.0.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Цей приклад демонструє, як за допомогою подій mouseenter та mouseleave можна створити ефект збільшення елемента при наведенні курсора миші та повернення до початкового розміру після виходу курсора. Такий підхід часто використовується для інтерактивних кнопок або зображень у галереях.
HTML
<div id="box">Демонстраційний елемент</div>
JS
const box = document.getElementById('box');
box.addEventListener('mouseenter', function() {
box.style.transform = 'scale(1.2)';
});
box.addEventListener('mouseleave', function() {
box.style.transform = 'scale(1)';
});
У цьому прикладі подія mouseleave використовується для приховання підказки після того, як курсор миші покинув кнопку. Це типовий сценарій використання для підказок, меню або інших спливаючих елементів, що відображаються лише при взаємодії користувача з певними елементами сторінки.
HTML
<div id="tooltip">Демонстраційний елемент</div>
<button id="button">Натисни</button>
JS
const tooltip = document.getElementById('tooltip');
const button = document.getElementById('button');
button.addEventListener('mouseenter', function() {
tooltip.style.display = 'block';
});
button.addEventListener('mouseleave', function() {
tooltip.style.display = 'none';
});
Коли користувач наводить курсор на панель, нічого не відбувається. Але коли курсор залишає область панелі, активується подія mouseleave, яка відображає повідомлення "Ви залишили панель!". Це повідомлення поступово зникає завдяки анімації. Цей ефект може використовуватися для сповіщень або підказок, що автоматично закриваються після взаємодії з користувачем.
Коментарі
Коментарів ще немає — будьте першим!