输入的焦点不是由代码输出

时间:2013-01-21 08:36:13

标签: javascript android html5 cordova input

我有PhoneGap 2.2.0和Android 4.0.4。

的应用程序

当我按下输入时,我在它上方打开了div。

我的输入和My Div:

  <input type="text" onclick="OpenDiv();" id="MyInput" />

    <div id="MyDiv">
       ...
    </div>

的CSS:

#MyDiv
{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 5000;
    display: none;
}

OpenDiv功能:

function OpenSearch() {
    $('#MyDiv').css('display', 'block');
}

旧版本没问题,在此版本中,第一个输入的焦点未通过,并且在我的div上创建了一个红色方块。

我试图把焦点放在一边,如下:

$('#MyInput').blur();

我还试图在div打开时隐藏Android键盘:

//It works for me in this application on other things
 window.cordova.plugins.SoftKeyBoard.hide(function () {
    }, function () {
    });

没有任何帮助......

红色方块仍然高于我的div,

如何解决?

2 个答案:

答案 0 :(得分:1)

您是否尝试过:document.activeElement.blur();

答案 1 :(得分:1)

当打开div 隐藏输入时,焦点就会出现。

这是一个非常严重的错误,它是焦点来自输入的唯一方式

但这是唯一解决方案对我有用。

这里是代码:

function OpenSearch() {
    $('#MyInput').css('display', 'none');
    $('#MyDiv').css('display', 'block');
}