问题
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)
}
来源:https://stackoverflow.com/questions/27557859/how-can-i-get-the-click-count