我使用jQuery UI datepicker让用户选择一个日期。它有一些快捷方式,因此可以使用键盘进行控制:
page up/down - previous/next month
ctrl+page up/down - previous/next year
ctrl+home - current month or open when closed
ctrl+left/right - previous/next day
ctrl+up/down - previous/next week
enter - accept the selected date
ctrl+end - close and erase the date
escape - close the datepicker without selection
但这对我来说似乎不是用户友好的。在我阅读文档之前,我没有发现自己如何使用键盘选择日期。我想只有少数用户会发现他们必须按“CTRL + 箭头键”来选择日期。
因此,我想用其他一些快捷键替换键盘快捷键。特别是我希望用户在几天和几周之间使用箭头键导航时不必按下“控制”键。
因为我在文档中没有找到任何关于此的配置,所以我尝试使用一些自定义 javascript 来实现此目标,我在其中侦听键盘事件并手动设置日期。但它会从一个问题引向另一个问题:
- 只有在选择第一个日期后才能正常工作
- 当用户仅使用箭头键导航后使用“CTRL + 箭头键”时,它会干扰
- 输入字段中的日期会立即更新,这与使用日期选择器原始键盘控件的“CTRL + 箭头键”导航时不同
- 浏览器的其他快捷方式不起作用,因为
event.preventDefault()
我知道所有这些问题都可以通过额外的 Javascript 再次解决,但如果我能以某种方式配置它,我会更喜欢它。
是否可以配置 jQuery UI 日期选择器的快捷方式?