簡體   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