我希望能够在该行右键单击时选择该行。右键点击UI网格选择
到目前为止,我有以下解决方案(我已经从here的想法):
我创建了一个右键指令是这样的:
app.directive('rightClick', function($parse) {
return function(scope, element, attrs) {
var fn = $parse(attrs.rightClick);
element.bind('contextmenu', function(event) {
scope.$apply(function() {
event.preventDefault();
fn(scope, {$event:event});
});
});
};
});
,然后我可以在我的控制器中添加功能将被调用:
$scope.rightClick = function (event) {
var scope = angular.element(event.toElement).scope();
if (scope.row.entity !== undefined) {
//... select element by calling gridApi
}
};
添加指令与属性right-click="rightClick($event)"
是必修课。
该解决方案的问题在于它依赖于element.scope()
这是一个角度调试功能,如果调试信息在生产中被禁用,将不可用。
所以,现在我正在寻找一种替代解决方案,无需element.scope()
。所以问题是:“如何在不依赖于角度调试功能的情况下选择右键点击元素”。
有趣的解决方案。不幸的是,我在单元格div上没有id。可能是因为我使用自定义行模板。 – Sjoerd222888
也许你可以在单元DOM元素上添加一个自定义属性?还请注意,该id在父元素上,而不是单元格内容。 –
我必须更改我的行模板,使其具有原始行模板的一些属性(请参阅ui-grid源代码中的'ui-grid/ui-grid-row'模板)。谢谢。 – Sjoerd222888