我可以通过javascript(没有phonegap)触发Android软键盘打开吗?

时间:2013-03-17 05:14:12

标签: javascript android galaxy

我的移动网络应用程序中有一些自定义Web组件,而我需要在字段上手动触发“焦点”事件,以模拟Android软键盘功能中的“下一步”功能。 (使用Galaxy S3本机浏览器)。

但是,当我在'select'字段上手动触发焦点事件时,本机软键盘不会显示。我必须随后点击该字段才能显示它。 (在IOS中,它当然可以正常工作)。

所以我想知道,如果'焦点'事件没有触发软键盘打开,JS事件将会是什么?

我没有使用phonegap,所以我希望没有它的方式。

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:19)

这是StackOverflow的链接:

  

Showing Android's soft keyboard when a field is .focus()'d using javascript

     

只是在没有事件的情况下进行聚焦似乎不起作用。 - 你需要一个   点击事件触发此事。

$(document).ready(function() {
    $('#field').click(function(e){
        $(this).focus();
    });
    $('#button').click(function(e) {
        $('#field').trigger('click');
    });
});

答案 1 :(得分:2)

您可以通过在输入上调用focus()然后click()来执行此操作。不需要jquery。如果您的脚本由包含元素上的onclick()触发,请注意无限循环。确保此脚本由某些用户交互触发。它不能从document.onload()或setTimeout()工作。对于元素上的同步样式更改等内容也很脆弱。下面的脚本适用于Chrome for Android 58和Safari mobile 602.1。

var target = document.getElementsByTagName("input")[0];

if (event.target != target) {
    target.focus();
    target.click();
}