AngularJSでmousedownとtouchstartが発火しない
以下のコードでmousedownとtouchstartが発火しません。 touchmoveも発火したりしなかったりで安定しません。 何が原因でしょうか? mouseupとtouchendは発火しています。
app.controller('Ctrl', ['$scope', '$resource', '$http', '$interval', '$swipe', '$location', function($scope, $resource, $http, $interval, $swipe, $location) {
//省略
$scope.timerStart = function() {
console.log("timer start");
time_timer = $interval(function() {
}, 1000);
console.log(time_timer);
};
$scope.touchMove = function() {
$interval.cancel(time_timer);
};
$scope.touchEnd = function() {
console.log("touch end");
$scope.timerStart();
};
$scope.timerStart();
}])
.directive('timeClick', function() {
return {
controller: ['$scope', '$element', '$attrs', '$http', '$interval',
function($scope, $element, $attrs, $http, $interval) {
var isTap, isTapped;
$element.bind('click', function() {
if(!isTapped) {
return $scope.$apply($attrs['hogeClick']);
}
});
$element.bind('touchstart', function() {
console.log('touch start');
return isTap = true;
});
$element.bind('mousedown', function() {
console.log('mouse down');
return isTap = true;
});
$element.bind('touchmove', function() {
$scope.touchMove();
return isTap = false;
});
return $element.bind('touchend mouseup', function() {
$scope.touchEnd();
if(isTap) {
isTapped = true;
return $scope.$apply($attrs['hogeClick'], $element);
}
});
}
]}
}
);