此STACKBLITZ(SB)显示了问题。
CSS类.WHYYYYY
显示了我面临的“两个”问题。
z-index:1050;
(ref 2 hacky workaround)。似乎我有两种解决方法。
z-index:1050;
。看来,当打开菜单菜单时,它会在瞬间升高“ z索引方向”,以至于触发了按钮事件(实际上将再次关闭其菜单菜单)。这是一个错误吗?我可以防止创建的菜单菜单刺穿/刺入吗?如何在雾中禁用工作中的悬停菜单?
答案 0 :(得分:2)
当材料cdk打开菜单时,它将创建cdk-overlay-container
,其背景区域会填充所有浏览器窗口。
body
your app elements
div.cdk-overlay-container - z-index = 1000
div.cdk-overlay-backdrop
一旦触发mouseenter
事件,背景就会与您的按钮重叠,并且它们会立即获得mouseleave
事件。
这就是为什么在按钮上设置大于1000的z-index使其起作用的原因。
但是您可以猜测,您可以简单地丢弃该backdrop
:
sub-menu.component.html
<mat-menu ... [hasBackdrop]="false">
并且您不需要z-index的任何解决方法。