我试图找出ngClick
和ngDblclick
在angularjs
中的工作方式。问题是即使点击两次,也不是一次调用doubleclick
函数。角度调用点击功能两次,双击功能一次。
HTML:
<div ng-controller="MyCtrl">
<div class="button" ng-click="click()" ng-dblclick="dblclick()">
Click
</div>
<div class="button" ng-click="reset()">
Reset
</div>
<div>
clicked:{{clicked}}
</div>
<div>
double clicked : {{dblclicked}}
</div>
</div>
JS:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.clicked = 0;
$scope.dblclicked = 0;
$scope.click = function(){
$scope.clicked++;
};
$scope.dblclick = function(){
$scope.dblclicked++;
};
$scope.reset = function(){
$scope.clicked = 0;
$scope.dblclicked = 0;
};
}
JsFiddle here
但jQuery
中$(someElement).click()
和$(someElement).dblclick()
按预期工作的情况并非如此,这似乎是理想的做法。
我有一个公平的想法,这是因为它们被实现为角度指令。其中在jQuery中它由听众工作。
我看到你可以通过使用$evalAsync
来消除这种情况,但是我认为为什么我们需要这样一个额外的负担来实现非常明显的事情。
有人能告诉我如何处理这个场景。提前谢谢。