键入时关闭 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-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;
}
编辑:忘了说,使用按键功能并将范围设置为 false
我无法在手动输入日期时关闭日历并在再次单击时弹出。我在下面尝试过任何其他方法可以关闭日历吗?
<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-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;
}
编辑:忘了说,使用按键功能并将范围设置为 false