0

부트 스트랩을 DateTimePicker 채우기 위해 키를 입력 http://eonasdan.github.io/bootstrap-datetimepicker/부트 스트랩을 DateTimePicker 여기에서 본 초기 일자

즉 제 보여주는하면, 위젯을 숨기고 입력 필드에 현재 날짜를 배치해야하는 입력 키. 여기 제가 시도한 것들이 있습니다 :

콜백에 단서를 주입시키지 않는 dp.hide 이벤트가 있습니다. 그래서, 당신은 그것이 어떻게 발동되었는지 알지 못합니다.

$("#datePicker").on("dp.hide", function(e) { 
    // e.notSquat 
}); 

datetimepicker의 어떤 DOM 요소가 실제로 내부적으로 Enter 키를 받고 있는지 분명하지 않습니다.

// handler never gets called. css selector is correct 
$("#datePicker input").keypress(function(e) { 
    console.log(e.which); 
}); 

내가 datetimepicker.js 자체의 코드로 뛰어 약간, 그것을 용감하게 맞 섰다 : 그것은 확실히 입력 요소 아니다 https://raw.githubusercontent.com/Eonasdan/bootstrap-datetimepicker/master/src/js/bootstrap-datetimepicker.js

예를 들어 단서, 라인 2588하지만, 세상에는있다 더 쉬운 방법이 있어야합니다 :

// line 2588 
enter: function() { 
     this.hide(); 
} 

도움을 주시면 감사하겠습니다.

답변

2

누군가가 도움이되는 경우에 대비하여 알아 냈습니다. 나는 플러그인을 초기화 할 때 keyBinds.enter 속성을 덮어 썼다.

$("#datePicker").datetimepicker({ 
    keyBinds: { 
     enter: function(){ 
      if(this.date() === null) { 
       this.date(moment()); // moment() is similar to new Date() 
      } 
      this.hide(); 
     } 
    }, 
    useCurrent: false 
});