2014-12-19 89 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 -on-the-same-element-with-angularjs – 2014-12-19 00:10:48

+0

您是否想要觀看雙擊鼠標(例如在桌面上,在x時間內點擊兩次)或者只需點擊兩次按鈕。 – 2014-12-19 00:27:09

+0

我想看雙擊 – 2014-12-19 00:28:52

回答

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

我不敢相信他們沒有爲此建立一些東西! – 2014-12-19 01:27:41