Как использовать событие mousein в современных браузерах?

Есть два события выхода указателя: mouseout и mouseleave.

Разница между ними в том, что mouseleave срабатывает только тогда, когда указатель покидает наблюдаемый элемент, а mouseout срабатывает, когда указатель покидает наблюдаемый элемент или любой из его детей.

Когда вы перемещаете указатель внутрь и из элемента, mouseleave срабатывает ровно один раз, а mouseout может срабатывать более одного раза, в зависимости от количества дочерних элементов, над которыми вы наведены.

Возникает вопрос: где mousein эквивалент mouseout? На MDN только mouseleave, mouseout и mouseenterзадокументированы.

В редких случаях мне нужно запускать код для каждого элемента, который вводится указателем, включая динамически созданные. mousein решит эту проблему для меня, но, похоже, этого больше не существует.

Afaik, я думал, что соединение mouseout и mouseleave связано с соединением mouseover и mouseenter

Taplar 14.05.2018 19:25

Эммм ... Про mouseover забыли?

ibrahim mahrir 14.05.2018 19:26

Я имею в виду, что он ссылается на него во втором абзаце той страницы mdn, связанной ...

Taplar 14.05.2018 19:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
142
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

The question is: where is the mousein equivalent of mouseout

Соответствующее событие для mouseout - это mouseover, а для mouseleave - это mouseenter.

Их главное отличие состоит в том, что mouseleave / mouseenter не пузырится, что хорошо объясняется, например, в MDN, а короче

  • mouseleave запускается, когда указатель покидает элемент и все его потомки, тогда как mouseout запускается, когда указатель покидает элемент или покидает одного из потомков элемента (даже если указатель все еще находится внутри элемента).

  • mouseover, он отличается от mouseenter тем, что он не пузырится и не отправляется, когда указатель перемещается из физического пространства одного из его потомков в его собственное физическое пространство.

Ах, я думал, что mouseover эквивалент mousemove.

Andrey Mikhaylov - lolmaus 14.05.2018 19:45

@ lolmaus-AndreyMikhaylov Нет, у mousemove нет соответствующего события. Слева - mousedown / mouseup, итого 7 событий, 3 пары и 1 сингл.

Ason 14.05.2018 19:48

Другие вопросы по теме