我正在使用rome.js作为日期选择器。当用户输入完日期后,我需要离开日期选择器,并在页面上将其替换为显示日期的文本。问题是,我不确定如何确定用户何时选择日期。我并不是真的要为他们添加另一个控件来放置日期选择器,而是想从用户的操作中推断出这一点。
一个想法就是我要寻找hide
事件-当与autoHideOnClick
和autoHideOnBlur
结合使用时,我想我可以说出用户已经输入了一个新日期并完成了。但是,我发现,创建选择器后,我会立即获得此事件-即使在创建选择器时输入元素具有焦点,选择器也不会立即弹出。此外,即使用户仍在输入日期(例如,他们输入日期然后又想手动输入时间),有时也会发生hide事件。
我在创建的输入元素上发生blur
事件的类似问题-例如,当选择器打开时,它会触发。
我应该如何知道用户何时输入日期/时间?
答案 0 :(得分:1)
我认为您可以在日期输入中添加一个keydown事件处理程序,并在每个keydown笔划上验证日期,如果日期有效,则将date-picker(类名是rd-container)的显示属性更改为“ none” “。
这是伪代码。我在https://www.cssscript.com/demo/highly-customizable-date-and-time-picker-with-rome-js/
上进行了验证dateInput.onkeydown = function () {
if(dateInput.text is valid) { //validate the date here.
$(".rd-container").css("display","none");
}
}
您可以使用相同的功能通过侦听“ onpaste”事件来检测用户是否将日期文本“粘贴”到输入元素中。
dateInput.onpaste = function () {
if(dateInput.text is valid) { //validate the date here.
$(".rd-container").css("display","none");
}
}