繁体   English   中英

rome.js知道用户何时完成

[英]rome.js knowing when the user is finished

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

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

我在创建的输入元素上的blur事件也遇到了类似的问题,例如, 打开选择器时将触发该事件。

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

我认为您可以在日期输入中添加一个keydown事件处理程序,并在每个keydown笔划上验证日期,如果有效,则将date-picker(类名称为rd-container)的display属性更改为“ 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");
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM