小编Jam*_*ter的帖子

Blazor 3.1 嵌套的 onmouseover 事件

我有一个嵌套 div 的问题,它们都有 onmouseover/onmouseout 事件。我有一个导航菜单,它从 onmouseover 事件触发的屏幕一侧弹出。在这个导航菜单中,我有一个弹出打开的子菜单,它也是由 onmouseover 事件触发的。两个打开事件独立工作正常,但是当一起运行时,触发器似乎被外部 div 拦截(外部 div 打开但内部 div 什么也不做)。

  • 我尝试在父 div 和子 div 上添加 @onmouseover:stopPropagation="true" ,但这没有任何效果。
  • 我知道有关于 onmouseenter/onmouseleave 的讨论与 Blazor 5 中的 html/js 类似,但 11 月还有很长的路要走,支持仍然悬而未决。

如果有我错过的技巧,请告诉我。代码如下(省略了 c# 代码 - 相应地修改了 collapseNavicationFlag 和 ExpandSubmenu 标志字符串。)

导航菜单

<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>
Run Code Online (Sandbox Code Playgroud)

导航菜单子菜单

<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"> …
Run Code Online (Sandbox Code Playgroud)

blazor blazor-client-side

8
推荐指数
1
解决办法
2620
查看次数

标签 统计

blazor ×1

blazor-client-side ×1