angular.module('app',[]) .controller('ContextMenuCtrl',['$scope', '$document', function($scope,$document) { $scope.contextmenu = {show:false}; $document.on('contextmenu', function(e) { e.preventDefault(); console.log(e); $scope.contextmenu.style = { left: e.clientX + 'px', top: e.clientY + 'px', display: 'block' }; $scope.contextmenu.show = true; if(!$scope.$$phase) { $scope.$apply(); } }); }]);