2014-12-19 3 views
2

앵커 태그에서 사용자가 한 번 또는 두 번 클릭하면 서로 다른 두 이벤트 중 하나를 호출하고 싶습니다. 그러나 ng-clickng-dblclick을 구현하면 둘 다 활성화됩니다.클릭 수를 얻는 방법

클릭 수에 따라 적절한 수신기로 연결하는 방법이 있습니까?

+0

참조 https://groups.google.com/forum/#!topic/angular/nA1i2raCcA0 및 ​​http://stackoverflow.com/questions/20444409/handling-ng-click-and-ng-dblclick –

+0

두 번 마우스 클릭 (예 : 데스크톱 에서처럼 x 시간 내 두 번 클릭) 또는 버튼을 두 번 클릭하기 만하면됩니까? –

+0

더블 클릭을보고 싶습니다. –

답변

3

ng-click과 $ timeout을 조합하여 함수가 실행 된 횟수를 계산할 수 있습니다. 코드는 이와 같이 보일 수 있습니다.

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

나는 이것을 위해 뭔가를 만들지 못했다고 나는 믿을 수 없다! –