2

In an anchor tag I would like call one of two different events based on if the user clicked once or twice. However if I implement ng-click and ng-dblclick, both are activated.

Is there any way to route to the appropriate listener based on click count?

ROMANIA_engineer
  • 51,252
  • 26
  • 196
  • 186
Victor Grazi
  • 14,414
  • 14
  • 58
  • 89

1 Answers1

3

You can use a combination of ng-click and $timeout to count the number of times the function has been executed. the code could look like something like this;

 <a ng-click="clicked()" />


 $scope.clickCount = 0;
 var timeoutHandler = null;
 $scope.clicked = function()
 {
     if (timeoutHandler != null)
          $timeout.cancel( timeoutHandler );
     $scope.clickCount++;

     timeoutHandler = $timeout(function()
     {
         //now you know the number of clicks.
         //set the click count to zero for future clicks
         $scope.clickCount = 0;
     }, 500)
 }
Aidin
  • 2,094
  • 22
  • 25