Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确放置带有角度材质的关联菜单?_Javascript_Angularjs_Angular Material - Fatal编程技术网

Javascript 如何正确放置带有角度材质的关联菜单?

Javascript 如何正确放置带有角度材质的关联菜单?,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,这是我的菜单: <md-menu> <div flex class="mbpTable" ng-right-click="$mdOpenMenu($event)">{{tab.title}}</div> <md-menu-content> <md-menu-item> <md-button ng-click="">Alert</md-button> </md-menu-ite

这是我的菜单:

<md-menu>
    <div flex class="mbpTable" ng-right-click="$mdOpenMenu($event)">{{tab.title}}</div>
<md-menu-content>
   <md-menu-item>
      <md-button ng-click="">Alert</md-button>
   </md-menu-item>
 </md-menu-content>
</md-menu>
})

问题是菜单总是出现在页面的左上角,无论我在哪里单击(考虑到前面的HTML位于具有多个选项的导航栏中)。我如何使<代码> $MopEnMutual在使用右击?< /P>打开菜单时,考虑<代码> $Case>
谢谢

几天前我也有同样的问题。不幸的是,再也找不到原始帖子的链接。无论如何,您可以为此添加自定义指令:

app.directive('contextMenu', [function() {
  return {
    restrict: 'A',
    require: 'mdMenu',
    link: function(scope, element, attrs, menu){

      var prev = { x: 0, y: 0 };
      scope.$mdOpenContextMenu = function (event) {

        menu.offsets = function () {
          var mouse = {
            x: event.clientX,
            y: event.clientY
          };
          var offsets = {
            left: mouse.x - prev.x,
            top: mouse.y - prev.y
          };
          prev = mouse;

          return offsets;
        };

        menu.open(event);
      };
    }
  };
}]);
用法:

<md-menu context-menu>
  <div ng-click="" ng-right-click="$mdOpenContextMenu($event)">
    some Content
 </div>

 <md-menu-content id="menu">
     <md-menu-item>
         <md-button>Action</md-button>
     </md-menu-item>
 </md-menu-content>
</md-menu>

一些内容
行动

希望这有帮助:)

几天前也有同样的问题。不幸的是,再也找不到原始帖子的链接。无论如何,您可以为此添加自定义指令:

app.directive('contextMenu', [function() {
  return {
    restrict: 'A',
    require: 'mdMenu',
    link: function(scope, element, attrs, menu){

      var prev = { x: 0, y: 0 };
      scope.$mdOpenContextMenu = function (event) {

        menu.offsets = function () {
          var mouse = {
            x: event.clientX,
            y: event.clientY
          };
          var offsets = {
            left: mouse.x - prev.x,
            top: mouse.y - prev.y
          };
          prev = mouse;

          return offsets;
        };

        menu.open(event);
      };
    }
  };
}]);
用法:

<md-menu context-menu>
  <div ng-click="" ng-right-click="$mdOpenContextMenu($event)">
    some Content
 </div>

 <md-menu-content id="menu">
     <md-menu-item>
         <md-button>Action</md-button>
     </md-menu-item>
 </md-menu-content>
</md-menu>

一些内容
行动
希望这有帮助:)