0

PhoneGap2.2.0 とAndroid4.0.4のアプリケーションがあります。

入力を押すと、その上にdivが開きました。

私の入力と私の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 () {
    });

何も役に立たなかった..

赤い四角はまだ My div の上に残っています。

それを解決する方法は?

4

2 に答える 2

1

divを開くと入力を非表示にした後、フォーカスが出ました。

フォーカスが入力から移動する唯一の方法であるというのは、かなり深刻なバグです。

しかし、それは私のために働いた唯一の解決策です。

ここにコードがあります:

function OpenSearch() {
    $('#MyInput').css('display', 'none');
    $('#MyDiv').css('display', 'block');
}
于 2013-01-28T07:52:26.983 に答える
1

やってみました:document.activeElement.blur();

于 2013-01-21T11:39:12.680 に答える