输入焦点上的jQuery Mobile Show键盘

sno*_*916 12 keyboard focus jquery-mobile

当我关注文本输入时,我遇到了让Android键盘显示的问题.我在我的函数中有这个初始化页面:

jQuery(document).bind('pageshow', function()
{
    jQuery($inputItemReference).focus();
    jQuery($inputItemReference).prompt();
});
Run Code Online (Sandbox Code Playgroud)

$ inputItemReference是一个指向输入文本框的变量.

有人告诉我,prompt()会显示键盘.但事实并非如此.我只获取输入以在页面加载时显示闪烁的光标.如果我想要显示键盘,我必须再次点击输入.我想在页面加载时正确显示键盘.有什么想法吗?谢谢.

小智 6

如果您使用cordova/phonegap将此添加到config.xml:

<preference name="KeyboardDisplayRequiresUserAction" value="false" />
Run Code Online (Sandbox Code Playgroud)


Twi*_*sty 1

根据这个答案,在 javascript 中的手机上显示虚拟键盘,这是不可能的。

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

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

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

  • 好吧,我想我找到了一种方法来解决这个问题,但这并不是最好的方法。我查看了 YoutTube Mobile,没有找到在没有用户交互的情况下不调出键盘的地方。@DonalRafferty 如果您不同意,请给我发送一个例子。这个小提琴做了他们所做的事情:http://jsfiddle.net/Twisty/knoohfwt/2/ 单击“开始”将焦点转移到 text1 并且键盘出现。这似乎是唯一的方法。对于登录页面,可以将表单放入对话框中并在对话框打开后设置焦点。这将弹出登录表单并同时弹出键盘。 (2认同)