我想为我的页面中的flatpickr元素添加onKeyDown事件。目前我有以下代码,但这是不工作的。事件不会被触发。任何帮助都是非常感谢的。
const dob = flatpickr('#date_of_birth', {
allowInput: true,
altInput: true,
altFormat: "m-d-Y",
dateFormat: "m-d-Y",
wrap: true,
});
window.onload = function() {
if(dob) {
dob.config.onKeyDown.push(function(selectedDates, dateStr, instance) {
console.log("Date Value: " + dateStr); // not printed
});
}
}编辑:我在我的应用程序中使用Flatpickr作为Vue组件。
发布于 2021-05-05 01:29:54
最后,我能够让onKeyDown事件与以下代码一起工作:
const dob = flatpickr('#date_of_birth', {
allowInput: true,
altInput: true,
altFormat: "m-d-Y",
dateFormat: "m-d-Y",
wrap: true,
onKeyDown: (selectedDates, dateStr, instance, event) => {
if(event.keyCode != 8) {
var ele = document.activeElement;
var val = ele.value;
if (val.length == 2 || val.length == 5) {
val += '-';
}
ele.value = val;
ele.dispatchEvent(new Event('input'));
}
},
});希望它能在未来帮助到某个人。
https://stackoverflow.com/questions/67372956
复制相似问题