rome.js知道用户何时完成

时间:2019-07-17 01:20:38

标签: javascript datepicker

我正在使用rome.js作为日期选择器。当用户输入完日期后,我需要离开日期选择器,并在页面上将其替换为显示日期的文本。问题是,我不确定如何确定用户何时选择日期。我并不是真的要为他们添加另一个控件来放置日期选择器,而是想从用户的操作中推断出这一点。

一个想法就是我要寻找hide事件-当与autoHideOnClickautoHideOnBlur结合使用时,我想我可以说出用户已经输入了一个新日期并完成了。但是,我发现,创建选择器后,我会立即获得此事件-即使在创建选择器时输入元素具有焦点,选择器也不会立即弹出。此外,即使用户仍在输入日期(例如,他们输入日期然后又想手动输入时间),有时也会发生hide事件。

我在创建的输入元素上发生blur事件的类似问题-例如,当选择器打开时,它会触发。

我应该如何知道用户何时输入日期/时间?

1 个答案:

答案 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");
   }
}