我想为boostrap datepicker更改keybinds beahvior。
我这样做了:
$('#birthday').datepicker({
format: "dd-mm-yyyy",
startView: 0,
maxViewMode: 2,
language: "fr",
autoclose: true,
keyBinds:
{
down: function (widget) {
if (!widget) {
// do nothing
}
else if (widget.find('.datepicker').is(':visible')) {
this.date(this.date().clone().add(7, 'd'));
} else {
this.date(this.date().clone().subtract(1, 'm'));
}
// console.log('Down');
}
},
todayHighlight: true,
}).on('show',function(e)
{
console.log('show');
document.removeEventListener("keydown", SubscripKeyDownHandler);
document.removeEventListener("keydown", SubscripKeyDownHandler);
}).on('hide',function(e)
{
console.log('hide');
document.addEventListener("keydown", SubscripKeyDownHandler);
});
而且:
$('#birthday').datepicker({
format: "dd-mm-yyyy",
startView: 0,
maxViewMode: 2,
language: "fr",
autoclose: true,
todayHighlight: true,
}).on('show',function(e)
{
console.log('show');
document.removeEventListener("keydown", SubscripKeyDownHandler);
document.removeEventListener("keydown", SubscripKeyDownHandler);
$(this).data("datepicker").keyBinds({
down: function (widget) {
if (!widget) {
// do nothing
}
else if (widget.find('.datepicker').is(':visible')) {
this.date(this.date().clone().add(7, 'd'));
} else {
this.date(this.date().clone().subtract(1, 'm'));
}
}
});
}).on('hide',function(e)
{
console.log('hide');
document.addEventListener("keydown", SubscripKeyDownHandler);
});
但它们都不起作用。 第二位代码给了我这个错误:
Uncaught TypeError: Cannot read property 'keyBinds' of undefined
当我通过更改
将其与bootstrap datetimepicker一起使用时$(this).data("DatePicker").keyBinds({.....
通过这个
$(this).data("DateTimePicker").keyBinds({....
有效!
请帮忙。 提前谢谢