Angular: Empty Fiddle

http://angularjs.org/

HTML

<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<div ng-controller="MyCtrl">
    <button click-once ng-click="doThis()">my button<button>
</div>

JavaScript

angular.module('myApp', [])

.controller('MyCtrl', function($scope) {
    $scope.doThis = function() {
      console.log('not here on second click');  
    };
})

.directive('clickOnce',function(){
  return {
      scope: {
          'ngClick': '&'
      },
    link: function (scope, element) {
        element.bind('click', function() {
            if (scope.ngClick) {
               scope.ngClick();
               scope.ngClick = null;   
            }
        });
    }
  }
});