用javascript在手机上显示虚拟键盘

时间:2011-07-26 22:49:25

标签: javascript jquery jquery-mobile

我正在创建我的网站的移动版本。网站的一部分会弹出一个带有文本输入的对话框。通常我会使用jQuery将焦点带到文本输入,但这不起作用。这是我正在尝试的:

$("#textinput").focus();
$("#textinput").click(); 
$("#textinput").trigger("tap"); //jQuery Mobile

它们似乎都不起作用。有任何想法吗?我一直在我的DroidX上测试它。我正在使用jQuery Mobile,但如果他们有帮助,我会对其他图书馆开放。

3 个答案:

答案 0 :(得分:43)

你不能,至少不能在iOS(iPhone)中,我也相信Android。这是一个可用性问题,除了用户输入之外不应该允许触发键盘(如果它是自动的,那就太烦人了。)

我知道有几种方法可以解决这个问题:

  • prompt()打开键盘
  • 如果您从.focus()事件中触发.click()(例如打开对话框),键盘会显示

答案 1 :(得分:21)

  

$( “#的TextInput”)聚焦();

通过将焦点设置为输入元素来打开键盘,只有在“用户上下文”(例如,单击,mousedown,mouseup)中设置焦点时才会起作用。

从“脚本上下文”(setTimeout,从ajax调用返回的回调)中,键盘将不会显示。

答案 2 :(得分:1)

你可以使用:

$(textFiled).trigger("focus");

您可以将此代码放入某些功能中,该功能会在打开某些叠加层时触发,或者在文档准备就绪时触发。