Управление событиями для вложенных элементов React - PullRequest
0 голосов
/ 08 июля 2020

Пытаясь добавить в избранное меню приложения, я работаю над тем, чтобы события onMouseEnter запускались только для элемента, который в данный момент завис. Проблема в том, что из-за того, что эти элементы вложены, onMouseEnter будет срабатывать как для дочернего элемента, так и для onMouseEnter родительского элемента. Ie:

HTML Вложение

Идеальным поведением было бы следующее: Идеальное поведение

Но на самом деле поведение таково: Фактическое поведение

Я уже пробовал stopPropogation, но проблема в том, что для каждого из пунктов меню есть отдельный прослушиватель событий (и L1, и L2 имеют свои собственные на мышь вводят слушателей). Таким образом, захват события на уровне L2 не останавливает запуск события на уровне L1.

Кто-нибудь знает способ инициировать только событие L2? В идеале, мы хотели иметь возможность сохранять специфицированное состояние наведения c для каждого элемента (ie не обязательно иметь обработчики проходов для «setIsChildElementHovered»), но открытыми для любых идей, которые есть у людей.

1 Ответ

0 голосов
/ 08 июля 2020

Вы пытались добавить событие только в дочерний элемент? Если у вас есть фрагменты кода, возможно, ответ на ваш вопрос. спасибо :)

...