Bonjour, c'est une vieille question mais j'ai une solution qui, je pense, peut être plus simple dans certains cas. Les directives ngMousedown (et ngMouseup) sont déclenchées par le bouton droit de la souris et ont accès à l'événement original de la souris par le biais de $event
donc vous pourriez le faire de cette façon :
<span ng-mousedown="handleClick($event)"
oncontextmenu="return false"> <!-- use this to prevent context menu -->
{{getPointsSpent()}}
</span>
Ensuite, dans le contrôleur, vous pouvez faire ce qui suit :
$scope.handleClick(evt) {
switch(evt.which) {
case 1:
increment(); // this is left click
break;
case 2:
// in case you need some middle click things
break;
case 3:
decrement(); // this is right click
break;
default:
alert("you have a strange mouse!");
break;
}
}
Voici un violon de travail . Elle fonctionne de la même manière que la réponse acceptée, mais ne nécessite pas la création d'une toute nouvelle directive. Bien qu'une directive puisse être une meilleure solution, surtout si vous prévoyez d'attacher des fonctions de clic droit à de nombreux éléments. Mais quoi qu'il en soit, une autre option.