javascript - 日历小部件 (JavaScript) 和可用性问题

标签 javascript jquery jquery-events usability

我想使用日历小部件来帮助用户选择日期。

我希望使用任何独立的日历或作为 jQuery 插件。在我的项目中,我使用的是 jQuery,我不想使用任何其他框架。

我看了很多日历,但它们都有同样的问题。我现在将描述它,见下文:

有两种显示日历的方式:

  1. 点击一些按钮、图标等来显示它。
  2. 单击文本字段(我们将在其中看到日期选择的结果)以显示它

我选择了第二种方式。在我的例子中,我将只有一个文本字段,没有任何附加图标、按钮等。 当此文本字段获得焦点时,日历将显示出来。当用户选择任何日期时,日历将被隐藏,文本字段将显示所选日期。

这里我有主要问题...

出现日历后,文本字段失去焦点。并且在选择日期之后,焦点没有回到该字段,tab 键(在键盘上)开始从头开始运行。

从可用性的 Angular 来看,如果当用户完成从日历中选择日期并且所选日期显示在文本字段中时,他可以继续使用 tab 键转到下一个文本字段,这将是很好的。

有什么解决办法吗?

附言我只有一个想法,但我不喜欢它,因为它看起来有点丑

当日历显示时,我可以销毁文本字段上的事件处理程序(焦点事件)。 当用户选择的日期和日历消失时,我可以将焦点设置在此文本字段上并再次为该文本字段附加事件监听器(焦点)。

最佳答案

由于 JavaScript 是单线程语言,您可以简单地将变量(disableEvents 或其他)设置为 true,然后在调用 .focus() 后将其设置回 false。 - 这不会造成任何麻烦,也不需要太多工作。

关于javascript - 日历小部件 (JavaScript) 和可用性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315932/

相关文章:

javascript - 双事件处理程序和一个函数。如何防止代码执行两次?

javascript - Highcharts 图表未调整大小以填充空间

javascript - document.getElementsByTagName 不起作用

每个循环的 javaScript 对象

jquery - 从Ajax调用获取数据,而不是字符串

javascript - XML检测多个子项的内容并根据它删除父项

javascript - 无法在 JQuery 中预览图像

jquery - 如何在 Safari for iPad 中使用 jQuery 识别触摸事件?可能吗?

javascript - CSS 下拉菜单在 IE8 中不起作用

javascript - Ember - 计算属性未触发/更新