【问题标题】:force keyboard open on android强制在android上打开键盘
【发布时间】:2012-03-30 23:44:50
【问题描述】:

有人知道如何在安卓浏览器上强制打开键盘(4.0 - 也许更少)? 我试过this solution,但它对我不起作用。

在项目中,我试图让文本输入正常工作,但在提交后(被 jQuery 拦截)它保持焦点但 键盘消失

sn-ps:

$('#typer').blur(function () {
    $(this).focus().click();
});

$('#typer').bind('keyup', function (e) {
    var input = $.trim($(this).val());
    // some lines of code..
    $(this).val('').focus(); // clean up
}

iOS 也很有趣.. 但尚未测试。

【问题讨论】:

  • 不是很清楚,你要达到什么目的。这有效:jsfiddle.net/Exceeder/Z6SFH(我创建了一个小提琴来解决您的问题)并且键盘不会消失。但是软键盘对您的#typer 所处的状态和样式很挑剔。无论用户用手指触摸什么,您是否希望键盘留在屏幕上?
  • 问题是提交后键盘消失了。与您的示例相同。它发生在按“开始”后。有什么想法吗?
  • 啊。 “开始”按钮……见:stackoverflow.com/questions/6545086/…

标签: android jquery mobile keyboard


【解决方案1】:

只要文本输入字段处于焦点位置,Android 就会拉起软键盘。 Android 上的“开始”或“完成”按钮用作表单提交,因此输入文本失去焦点并且键盘消失。用户希望键盘在“Go”、“Done”或“Enter”被按下后消失——所以 Android 遵循这个规则。强制重新关注字段的模糊不会有太大作用,因为从技术上讲,您已移至不同的窗口。

$('body').click(function() { $('#typer').focus(); }

可以提供部分解决方案,即用户必须在页面正文中的任意位置单击一次,typer 才能重新获得焦点。它会导致操作系统移回浏览器活动并聚焦输入字段。这个小提琴以它为例:http://jsfiddle.net/Exceeder/Z6SFH/(在你的Android设备上使用http://jsfiddle.net/Exceeder/Z6SFH/embedded/result/

除了写一个类似PhoneGap的包装器来控制键盘的imeOptions,我不知道有什么办法可以解决这个问题。

【讨论】:

  • 感谢亚历克斯,我已经通过单击文档来解决问题。遗憾的是没有好的api。 $(document).click(function () { $('#typer').focus(); })
  • 伙计们,让我们在 Chromium 错误跟踪器上发布新问题。这是实现它的唯一方法。我在这里发布了我的:code.google.com/p/chromium/issues/… 假装你没有看到我的问题并发布一个副本,以便他们看到更多的需要。
猜你喜欢
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
相关资源
最近更新 更多