我想使用Calendar小部件来帮助用户选择日期。
我希望使用任何独立日历或jquery插件。在我的项目中,我使用的是jquery,我不想使用任何其他框架。
我看了很多日历,但他们都有同样的问题。我现在将对其进行描述,见下文:
有两种方式可以显示日历: 1.点击某个按钮,图标等显示它。 2.单击文本字段(我们将看到日期选择的结果)以显示它
我选择了第二种方式。在我的情况下,我将只有一个文本字段没有任何添加图标,按钮等。 当此文本字段获得焦点时,日历将显示。当用户选择任何日期时,日历将被隐藏,文本字段将显示所选日期。
这里我有主要问题......
显示日历后,文本字段失去焦点。在选择日期之后,焦点没有回到此字段,并且键(键盘上)从开始开始运行。
从可用性点来看,如果用户从日历中完成选择日期,并且所选日期显示在文本字段中,他可以继续使用键转到下一个文本字段。
任何想法如何解决?
P.S。我只有一个想法,但我不喜欢它,因为它看起来有点难看
当日历显示时,我可以在文本字段上销毁事件处理程序(焦点事件)。 当用户选择的日期和日历消失时,我可以将焦点设置在此文本字段上,并再次为此文本字段附加事件监听器(焦点)。
感谢。
答案 0 :(得分:2)
由于JavaScript是一种单线程语言,您只需将变量(disableEvents
或其他内容)设置为true,并在调用.focus()
时将其设置为false - 这不会导致任何麻烦,不需要太多工作。
答案 1 :(得分:1)
jQuery-UI's datepicker不会将焦点发送到弹出日历窗口小部件,而是期望用户使用替代控件来更改日期,此外,这将允许用户在他们选择时手动键入日期。