如果在具有z-index的固定元素上单击外部,则Angular Material md-menu元素不会关闭

时间:2016-01-20 12:26:51

标签: javascript angularjs angular-material material

我的文档中有一个基本的<md-menu>元素。默认情况下,如果在文档中的任何位置单击,它将自行关闭。但是,如果我点击fixed内的z-index元素,它就不会关闭。

<div class="menu-demo-container" layout-align="center center" layout="column">
  <md-menu>
    <md-button class="md-primary md-raised" ng-click="ctrl.openMenu($mdOpenMenu, $event)">
      Test
    </md-button>
    <md-menu-content width="4">
      <md-menu-item>
        <md-button>
          Menu Item
        </md-button>
      </md-menu-item>
    </md-menu-content>
  </md-menu>
</div>

<div style="position:fixed; z-index: 100; backgorund-color:red;left:0;top:0;bottom:0">
  Try clicking here while the the md-menu is open
</div>

如果我点击它之外的任何地方,包括固定元素,我怎样才能关闭所有<md-menu>个元素?

WORKING DEMO

1 个答案:

答案 0 :(得分:5)

元素z-index的问题,大于背景z-index。可以通过点击md-backdrop元素来关闭菜单。 md-backdrop.md-menu-backdrop z-index等于99。

  

具有更多堆栈顺序的元素始终位于元素的前面   堆叠顺序较低。

要解决问题,请减少元素的z-index。在您的情况下,它应该小于99