16

jQuery Mobile 1.0.1 と Phonegap 1.4.1 でモバイル Web アプリを開発していますが、galaxy s2 のキーボードで問題が発生しました。

スライドアウトして検索入力を含むメニューがあります。

<input type="search" placeholder="Search..." name="search" id="menu_search" data-role="none" />

入力をタップしてフォーカスを取得すると、キーボードが開きますが、何も入力できません。ここでの手がかりは、検索キーボードではなく、通常のテキスト キーボードが表示されることだと思います (虫眼鏡があります)。エンターキーとして)

メニューが開いたときに入力にフォーカスすると: $("#menu_search").focus() - メニューが表示されたときに検索キーボードが開いていて検索できますが、入力をタップするとすぐにキーボードが通常のキーボードに変わり、何も入力できなくなります。 .

別の手がかりは、キーボードで入力している間は自動予測が機能しますが、正しいオプションをタップすると、入力にスペースのみが追加され、他の文字は追加されないことです.

検索入力で他の多くの属性を試しましたが、役に立ちませんでした。

<input type="search" placeholder="Search..." name="search" id="menu_search" value="" data-role="none" autocomplete="off" autocorrect="off" autocapitalization="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" style="-webkit-appearance:searchfield;" class="ui-autocomplete-input" />

これはすべて、2.2 を実行している HTC Desire と CM7 (Android 2.3.7) を実行している Desire で正常に動作します。

入力をテキストエリアに変更しようとさえしましたが、これはほとんど同じことをしました:(

私も試しました:

$("#menu_search").live('focus',function(event){
   event.preventDefault();
});

それがキーボードの変更を妨げるかどうかを確認しますが、運もありません。

ただし、アプリの他の場所に別の検索入力があり、正常に機能します。唯一の違いは、他の検索が「適切な」ページにあることです。data-role="page"メニューは他のすべてのページの外側にあり、独自に非表示に設定されています最初に。

助けてください、私は血のatmを泣いています!

4

6 に答える 6

2

あなたはおそらく持っています

-webkit-user-select: none;

CSSのどこかに。入力のテキスト選択を有効にする場合

input, textarea { -webkit-user-select: text; }

それは再び動作します!

于 2012-04-16T07:42:30.953 に答える
0

検索入力タグにdata-native-menu="false"属性を追加してみましたか。

于 2012-03-12T07:26:56.887 に答える
0

それでも問題が解決しない場合は、phonegap 2.0 にアップデートしてみてください。これは、いくつかの入力の問題を修正します。

于 2012-08-08T20:53:13.977 に答える
0
$('#pageid').live('pageshow', function(event, ui) {
    $(this).delegate('input[data-type="search"]', 'keyup', function () {
      if($(this).val().length != 0)
        keyword = $(this).val();

    });
 });
于 2012-10-02T07:27:11.477 に答える