Angular材料mdMenu onclose在firefox中滚动页面到顶部

时间:2017-04-13 14:02:23

标签: angularjs firefox scroll angular-material

我有一个简单的角度素材应用程序,页面底部有mdMenu。在选择选项时,页面滚动到顶部。 这只发生在firefox上(测试版本为52.0.2)。

使用角度版本。 1.6.4 使用角度材料ver 1.1.3

Plnkr

<body>
<div style="height:1000px">This is top</div>
    <md-menu md-position-mode="target-right target">
        <md-button aria-label="Open demo menu" class="md-raised md-primary" ng-click="$mdOpenMenu($event)">
            Menu
        </md-button>
        <md-menu-content width="2">
            <md-menu-item>
                <md-button>
                    <div>
                        <p flex>
                            Option </p>
                    </div>
                </md-button>
            </md-menu-item>
        </md-menu-content>
    </md-menu>
</body>

2 个答案:

答案 0 :(得分:1)

这是一个错误,在发布时仍未解决,并且已被github上的开发人员积压。

以下是线程https://github.com/angular/material/issues/5690

的链接

线程中提出了一种使用以下样式的解决方法:

body  {
height: auto;
}

虽然它对我有用,但是在项目的DOM加载过程中会导致垂直div跳跃,我不欣赏。

以下是Magador用户发布的用于重现该错误的两个代码  (不会发生在Chrome上,只有firefox IE&amp; edge)

错误演示:http://codepen.io/Magador/pen/ZbmeRo

演示已解决:http://codepen.io/Magador/pen/wKRBLg

答案 1 :(得分:0)

 angular.module('yourModule',[]).config( ['$anchorScrollProvider', 
        function($anchorScrollProvider) {
            $anchorScrollProvider.disableAutoScrolling();
        }]
    );

我通过禁用自动滚动解决了这个问题。请务必清除浏览器缓存以确保其正常工作。