键入时关闭 angularstrap 日历并在单击输入时显示

Dismiss angularstrap calendar when typing and show up when click input

我无法在手动输入日期时关闭日历并在再次单击时弹出。我在下面尝试过任何其他方法可以关闭日历吗?

<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(),但我点击了两次以显示日历。

我讨厌这样做,但它有效...在您的输入中,您需要 2 个函数,一个是 ng-blurng-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;
}

编辑:忘了说,使用按键功能并将范围设置为 false