, mouseup mousedown timeout.
.directive("car", function($timeout){
return {
restrict:"A",
link:function(scope,element,attrs,controller){
var left=0;
var car = angular.element(element[0].querySelector('.car'));
var timeout;
var moveOnce= function() {
left+=10;
car[0].style.left = left+"px";
};
var move = function(e){
$timeout.cancel(timeout);
timeout = $timeout(function(){
moveALittle();
move();
}, 250);
};
var stop = function(e){
$timeout.cancel(timeout);
};
element.on("click", moveOnce);
element.on("mousedown", move);
element.on("mouseup", stop);
element.on("$destroy",function(){
element.off("click",moveOnce);
element.off("mousedown", move);
element.off("mouseup", stop);
});
}
};
})
: http://jsfiddle.net/2m8vD/12/
, , .
mouseup mousedown angular ng-mouseup ng-mousedown, .
<button ng-mousedown="move" ng-mouseup="stop">Move</button>
UPDATE:
moveOnce(), .