Bootstrap datetimepicker,如下所示:http://eonasdan.github.io/bootstrap-datetimepicker/
具体来说,首次显示时,回车键应隐藏窗口小部件并将当前日期放入输入字段。这是我尝试过的一些东西:
有一个dp.hide事件,它没有向回调中注入线索。所以,你不知道它是如何被触发的。
$("#datePicker").on("dp.hide", function(e) {
// e.notSquat
});
目前还不清楚datetimepicker的哪个DOM元素实际上是在内部接收一个回车键。它绝对不是输入元素:
// 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();
}
感谢任何帮助。
答案 0 :(得分: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
});
答案 1 :(得分:0)
使用其他库遇到同样的问题-uxsolutions/bootstrap-datepicker v1.8.0 ..
经过简短的调查,我发现Enter键对我不起作用的原因是将forceParse
选项设置为false
(文档中未说明 >)。
从Datepicker.prototype.keydown中获取的代码:
switch (e.keyCode) {
case 13: // enter
if (!this.o.forceParse)
break;
}
请参见issue #2381