【问题标题】:Bootstrap datepicker Keyboard navigation : select date when "tabbing out"引导日期选择器键盘导航:“跳出”时选择日期
【发布时间】:2016-04-29 17:06:34
【问题描述】:

我在一个应用中使用Boostrap Datepicker,我的用户请求更改其Keyboard navigation。

我们希望在按下 [tab](移动到下一个输入)时设置日期,而不是在离开到下一个输入之前按 [enter]。

或者,向上/向下/向左/向右箭头可以在移动时直接更改日期,而不是聚焦日期。但我更喜欢只在离开输入时更改日期的解决方案。

【问题讨论】:

  • 不要解决您的问题。实际上,如果您单击日期并使用选项卡聚焦,他会保留您选择的日期。
  • 用户不会点击。他们只使用带键盘的表格。 1. Tab 移动到日期字段 2. 箭头更改日期 3. enter 选择日期 4. tab 移动到下一个字段......他们喜欢放弃第 3 步。

标签: javascript jquery datepicker


【解决方案1】:

对此没有开箱即用的解决方案。 您必须自己编写功能代码。向 datepicker 添加一个 key-listener Event 并检查是否按下了“tab”(keycode = 9)。如果按下 Tab,set the datepicker with the new value

很抱歉,我无法为您提供一个可行的示例,但没有简单、简短的解决方案。

【讨论】:

  • 那么问题来了:如何知道焦点日期?
  • 不幸的是,似乎没有办法通过 api 从 datepicker 本身获取它,但是您可以使用 js 找到它: datepicker-overlay 中的焦点日期具有焦点类,很容易选择用jquery $(".datepicker .focused"),月份和年份在表头中。
  • 最终,我得到了一个监听器,它将焦点日期存储在键盘导航(上、下、左、右)上,并在跳出时设置日期选择器日期。请参阅gist.github.com/tbuyle/7b891ee898fc656b002c9db92c741e26 上的代码
猜你喜欢
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 1970-01-01
  • 2013-11-28
相关资源
最近更新 更多