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.remove()を破壊しようとした

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

入力にフォーカスを失っておくが、私はカレンダーを表示するために二回クリックする必要があり。

答えて

0

私はこれを嫌っていましたが、うまくいきました...あなたの入力には、2つの関数が必要です.1つはng-blurng-clickです。だから、デフォルトのスコープ `data-bs-show =" datePicker.show "` `をfalseに設定して、上記の2つの関数について検証を追加します。

$scope.calendarShow = false; 

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

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

編集:言及キー押下機能を使用して、偽

に範囲を設定するのを忘れ
関連する問題