一尘不染

如何处理angular.js中的右键单击事件?

angularjs

有没有一种方法可以设置一个元素,使其在左键单击(ng-click)上执行一个动作,然后在右键单击上执行另一个动作?

现在我有类似的东西:

<span ng-click="increment()">{{getPointsSpent()}}</span>

而且我还希望能够右键单击范围以执行函数decrement();。


阅读 361

收藏
2020-07-04

共1个答案

一尘不染

您可以使用指令,使用contextmenuevent 绑定右键单击时的特定操作:

app.directive('ngRightClick', function($parse) {
    return function(scope, element, attrs) {
        var fn = $parse(attrs.ngRightClick);
        element.bind('contextmenu', function(event) {
            scope.$apply(function() {
                event.preventDefault();
                fn(scope, {$event:event});
            });
        });
    };
});

小提琴上的代码示例

2020-07-04