How can I get the click count

2019-07-20 06:46发布

问题:

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?

回答1:

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)
 }