2016-12-23 9 views
1

У меня возникли проблемы с отбрасыванием календаря при вводе даты вручную и всплывающем окне, когда он снова щелкнул. Есть ли другой способ, который я попытался сделать ниже, чтобы уволить календарь?Отклонить календарь углового рестарта при вводе и отображении при нажатии на вход

<input type="text" ng-model="datePicker.date" class="form-control" placeholder="Date" bs-datepicker data-bs-show="datePicker.show"> 

У меня есть директива, стиранию элемент, но я продолжаю терять фокус на входе

element.bind("keydown keypress", function (event) { 
    scope.$apply(function(){ 
    element[0].blur(); 
    }); 
}); 

Я пытался уничтожить элемент element.remove(), но у меня есть нажать два раза, чтобы показать календарь ,

ответ

0

Я ненавидел это делать, но он работает ... На вашем входе вам нужны 2 функции, одна - ng-blur и ng-click. Поэтому я установил как false свою область по умолчанию `data-bs-show =" datePicker.show "` `, а затем добавит подтверждение для этих двух упомянутых функций.

$scope.calendarShow = false; 

$scope.clickCalendar = function(){ 
    if($scope.calendarShow){ 
     $scope.calendarShow = false 
    } else{ 
     $scope.calendarShow =true 
    } 
} 

$scope.blurCalendar = function(){ 
    $scope.calendarShow = false; 
} 

Edit: забыл упомянуть, используйте функцию и установить нажатие рамки ложной