0

我编写了一个 html5 Web 应用程序,在 Android 4.0.4 上运行时,我注意到以下问题:我在一个表单上有两个连续的输入字段,一个是文本字段,下一个是日期字段。如果焦点当前在文本字段中并且显示了虚拟键盘并且在虚拟键盘上按下了“tab”按钮,则焦点将移动到日期字段,但不会显示日期字段的日期选择器对话框。此问题在标准 Android 浏览器和 Chrome 中都存在,如下所示:

使用标准的 android 浏览器,当从文本切换到日期时,键盘保持显示,即使输入的字段是日期字段并且现在应该显示日期选择器对话框。

使用 Chrome,当从文本切换到日期时,键盘会消失,但不会显示日期选择器对话框。

无论哪种方式,这都是不可接受的。当焦点通过 Tab 键移动到日期字段时,应显示日期选择器对话框(与用户触摸输入类型 = 日期框时显示日期选择器对话框的方式完全相同)。

毫无疑问,这是 Android 4.0.4 操作系统中的另一个错误,我意识到它充满了此类错误。我的问题是:我可以通过编程方式做些什么来解决这个问题,以便在日期字段被标记为使用虚拟键盘时出现日期选择器对话框?

4

3 回答 3

0

我假设您正在尝试使用本机日期选择器。

如果您发现这种情况仅在您切换到日期输入时发生,而不是在您点击它们时发生,请尝试侦听焦点事件,将其模糊,移除侦听器,重新聚焦,然后再次添加侦听器。

这可能会使界面变得不可接受,但是除了指定输入类型之外,没有任何 DOM 方法可以告诉您当前的键盘状态或更改它们。

你会看到这种不一致是目前的标准: http: //mir.aculo.us/2013/08/30/handling-numerical-input-in-mobile-web-apps-or-a-sad-两个键盘的故事/

于 2013-10-07T15:40:07.800 回答
0

尝试在您的标签代码上使用它

    $('#datepicker').datepicker('show');
于 2013-10-07T15:30:08.290 回答
0
$("#element").focus(function(){
  $( ".selector" ).datepicker("show");
}
于 2013-10-07T15:31:39.243 回答