app .directive('ngMiddleClick', function ($parse) { return function (scope, element, attrs) { var fn = $parse(attrs.ngMiddleClick); element.bind('click', function (event) { if (event.which == 2) { scope.$apply(function () { event.preventDefault(); fn(scope, {$event: event}); }); } }); }; });