gpt4 book ai didi

javascript - 我如何在 AngularJS 中监听点击并按住?

转载 作者:可可西里 更新时间:2023-11-01 01:58:46 24 4
gpt4 key购买 nike

我制作了一个时间 Controller ,您可以通过单击按钮来增加或减少时间。但是,我希望当我单击并按住按钮时,时间值会继续攀升。

所以目前如果你看到我的 Plunkr每次我单击向上按钮时,值都会增加,但我想要这个,所以当我按住按钮时,值会增加 1,2,3,4,5,6,7,8 直到我释放按钮。

我怎样才能实现这样的目标?

最佳答案

DEMO

<span class="time">{{ Time | timeFilter }}</span>
<div class="btn-group btn-group-sm">
<button class="btn btn-default" ng-mousedown='mouseDown()' ng-mouseup="mouseUp()">
<i class="fa fa-caret-up"></i>
</button>
<button class="btn btn-default" ng-click="Time = Time - 1">
<i class="fa fa-caret-down"></i>
</button>
</div>

将 ng-mouseDown 和 ng-mouseup 指令与 $interval 一起使用

app.directive('time', function ($interval) {
return {
templateUrl: 'time.html',
restrict: 'E',
scope: {
Time: '=value'
},
link: function (scope, element, attrs) {
element.addClass('time');

var promise;
scope.mouseDown = function() {
if(promise){
$interval.cancel(promise);
}
promise = $interval(function () {
scope.Time++;
}, 100);

};

scope.mouseUp = function () {
$interval.cancel(promise);
promise = null;
};
}
};
});

关于javascript - 我如何在 AngularJS 中监听点击并按住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25180332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com