我用jQuery UI 日期选择器 http://jqueryui.com/demos/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 来实现这个目标 http://jsfiddle.net/vH5SX/1/,我在其中监听键盘事件并手动设置日期。但这会从一个问题引向另一个问题:
- 仅在选择第一个日期后才能正常工作
- 当用户仅使用箭头键导航后使用“CTRL + 箭头键”时,它会产生干扰
- 输入字段中的日期会立即更新,这与使用日期选择器原始键盘控件的“CTRL + 箭头键”导航时不同
- 浏览器的其他快捷方式不起作用,因为
event.preventDefault()
我知道所有这些问题都可以通过额外的 Javascript 再次解决,但如果我能以某种方式配置它,我会更喜欢它。
是否可以配置 jQuery UI 日期选择器的快捷方式?
这不能通过日期选择器进行配置。你必须改变_doKeyDown
方法来源在这里 https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js#L524.
最简单的方法是扩展小部件。它看起来像这样:
$.extend($.datepicker, {
_doKeyDown: function(event){
//copy original source here with different
//values and conditions in the switch statement
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)