Почему моя настраиваемая директива contextmenu работает только при наличии точного имени? (AngularJs) - PullRequest
0 голосов
/ 05 августа 2020

У меня есть эта настраиваемая директива, которая не работает, если ей присвоено любое имя, кроме ngRightClick. :

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

Я использую его, чтобы предотвратить открытие контекстного меню для такого элемента привязки:

<a href="www.example.com" ng-right-click=myFunction($event)>example</a>
//...
$scope.myFunction = function(event){ event.preventDefault(); }

Почему я не могу назвать директиву «ngContextMenu» или что-то в этом роде else?

Я сделал plunkr кейса: AngularJS та же директива с другим именем.

Спасибо (:

...