Как использовать событие mousein в современных браузерах? - PullRequest
0 голосов
/ 14 мая 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 14 мая 2018

Вопрос: где mousein эквивалент mouseout

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

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

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

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

...