我无法在手动输入日期时解除日历,并在再次点击时弹出。我在下面尝试过其他方式可以解雇日历吗?
<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 :(得分: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;
}
编辑:忘记提及,使用按键功能并将范围设置为false