У меня проблема с вложенными div, у которых есть событие onmouseover / onmouseout. У меня есть навигационное меню, которое открывается сбоку экрана, вызванное событием onmouseover. Внутри этого навигационного меню у меня есть подменю, которое открывается, которое также запускается событием onmouseover. Оба открывающих события работают нормально независимо друг от друга, но при совместном запуске триггер, кажется, перехватывает внешний div (внешний div открывается, но внутренний div ничего не делает).
- Я пробовал добавить @onmouseover: stopPropagation = "true" как для родительского, так и для дочернего div, но это не дало никакого эффекта.
- Мне известно, что о onmouseenter / onmouseleave говорят аналогично html / js в Blazor 5, но до ноября еще далеко, а поддержка все еще не решена.
Если есть трюк, который я пропустил, дайте мне знать. код ниже (c# код опущен - просто изменяет строки флага collapseNavicationFlag и ExpandSubmenu соответственно.)
Nav menu
<div id="nav-bar" class="@collapseNavigationFlag" @onmouseover="ExpandNavigation" @onmouseout="CollapseNavigation">
<div>
<ul class="nav flex-column">
foreach (var navigationItem in navigationSection.NavigationItems)
{
<NavMenuSubmenu />
}
</ul>
</div>
NavMenuSubmenu
<li>
<ul class="nav-submenu @expandSubmenu"
@onmouseover="ExpandSubmenu"
@onmouseout="CollapseSubmenu">
@foreach (var navigationSubItem in NavigationItem.NavigationSubItems)
{
<li class="nav-submenu-item px-3">
<a href="@navigationSubItem.Page">
@navigationSubItem.Title
</a>
</li>
}
</ul>
</li>