Javascript 另一个按钮内的按钮不';t在Firefox中工作(棱角材质)

Javascript 另一个按钮内的按钮不';t在Firefox中工作(棱角材质),javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,ММ按钮(class=“patternButton”)包含另一个应显示菜单的小按钮(class=“patternMenuBtn”)。以下是标记: <div class="patternsBlock"> <md-button class="patternButton" ng-class="{selected: view.id == selectedViewId, globalView: view.id.indexOf(

ММ按钮(
class=“patternButton”
)包含另一个应显示菜单的小按钮(
class=“patternMenuBtn”
)。以下是标记:

    <div class="patternsBlock">
        <md-button class="patternButton"
                   ng-class="{selected: view.id == selectedViewId, globalView: view.id.indexOf(userViewIdPrefix) == -1}"
                   ng-repeat="view in loadedViews" ng-click="selectPattern(view)">
            {{view.name}}
            <md-menu md-offset="26 40" ng-show="view.id.indexOf(userViewIdPrefix) != -1">
                <md-button class="md-fab md-mini patternMenuBtn" ng-click="openMenu($mdOpenMenu, $event)">

                </md-button>
                <md-menu-content width="2">
                    <md-menu-item>
                        <md-button ng-click="deleteUserView(view, $index)">
                            <span md-menu-align-target>Delete</span>
                        </md-button>
                    </md-menu-item>
                    <md-menu-item>
                        <md-button ng-click="openViewPanel(view, $index)">
                            <span md-menu-align-target>Edit</span>
                        </md-button>
                    </md-menu-item>
                </md-menu-content>
            </md-menu>
        </md-button>
    </div>

这在Chrome中有效,但在Firefox中不起作用。实际上,
openMenu
函数没有被调用。

似乎唯一的解决方案是将按钮一个接一个地放置,而不是一个插入另一个。我的新标记如下所示:

    <div class="patternsBlock">
        <div class="patternButtonContainer" ng-repeat="view in loadedViews"
             ng-class="{selected: view.id == selectedViewId, globalView: view.id.indexOf(userViewIdPrefix) == -1}">
            <md-button class="patternButton" ng-click="selectPattern(view)">
                {{view.name}}
            </md-button>
            <md-menu md-offset="26 40" ng-show="view.id.indexOf(userViewIdPrefix) != -1">
                <md-button class="md-fab md-mini patternMenuBtn" ng-click="openMenu($mdOpenMenu, $event)"></md-button>
                <md-menu-content width="2">
                    <md-menu-item>
                        <md-button ng-click="deleteUserView(view, $index)">
                            <span md-menu-align-target>Delete</span>
                        </md-button>
                    </md-menu-item>
                    <md-menu-item>
                        <md-button ng-click="openViewPanel(view, $index)">
                            <span md-menu-align-target>Edit</span>
                        </md-button>
                    </md-menu-item>
                </md-menu-content>
            </md-menu>
        </div>
    </div>

{{view.name}
删除
编辑
然后我使用CSS使菜单按钮出现在主按钮上


重要信息:将
图案按钮容器上的
位置:相对
位置:绝对
设置为
。这种方式可以在不影响容器大小的情况下将菜单按钮放在任何地方。

我也有同样的问题:

<md-button ng-disabled="true">
  <md-button>
  </md-button>
</md-button>

但我可以解决这个问题:

<div class="md-button" ng-disabled="true">
  <md-button>
  </md-button>
</div>


只能使用css类的md按钮,并且可以正常工作。

在控制台中检查
ev
的值…@RayonDabre,我的应用程序在Firefox中永远不会进入此功能。因此,
ev
无法检查。您可以共享演示或小提琴吗?@RayonDabre,最简单的检查方法是转到Angular Material的菜单页,然后在第一个示例中单击“在代码笔上编辑”按钮,并通过附加的
包装
。这在FIrefox中不起作用,但在Chrome中仍然起作用。你为什么要这样做?
<div class="md-button" ng-disabled="true">
  <md-button>
  </md-button>
</div>