avoid calling $scope.$apply twice in the same digest cycle if anything is listening on blur() or focus()