我如何知道按钮按住了多长时间?即,我如何找到 Angular 中 mousedown 和 mouseup 事件之间的差异。我对 Javascript 很陌生,第一次使用 Angular。对此的任何帮助将不胜感激
最佳答案
您可以使用 ngMouseUp 和 ngMouseDown 指令来计算时间差,而不是创建单独的指令,如下所示。
希望这是您所期待的。
angular.module('myApp', [])
.controller('myCtrl', function ($scope){
var timeStart, timeEnd;
$scope.mouseDown = function () {
timeStart = new Date();
}
$scope.mouseUp = function () {
timeEnd = new Date();
$scope.timeDiff = (timeEnd - timeStart)/1000;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<button ng-mousedown='mouseDown()' ng-mouseup="mouseUp()">Click me and Hold</button>
<p ng-if="timeDiff"> You have clicked the button for <b>{{timeDiff}}</b> seconds</p>
</div>
关于javascript - 如何检测按钮按下并保持 Angular 时间。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41566842/