1

jQuery Mobile には、フィルター処理されたリストビューがあります。フィルターにテキストを入力した後、リストはフィルター処理されますが、GO ボタンを押してもキーボードは非表示になりません。

ユーザーは、GO を押した後にキーボードが非表示になることを期待しています。それを達成する方法はありますか?

4

3 に答える 3

1

次のように、Javascript を使用して入力フィールドからフォーカスを手動で削除する必要があります。

$('.ui-listview-filter .ui-input-text').live('keyup', function(event) {
    if (event.keyCode == 13) {
        // 'Go' pressed
        $('.ui-listview-filter .ui-input-text').trigger('blur');
    }
});
于 2012-08-10T09:36:35.827 に答える
0

古いバージョンのjQuery(モバイル)で動作するPabloの回答のバリアント:

  // this is here to close the on-screen keyboards of mobile devices when the "go" button is used
  $("input[data-type='search']").on('keyup', function(event) {
    if (event.keyCode == 13) { // Enter or 'Go' pressed
      event.target.blur(); // remove focus on the search field so keyboard goes away
    }
 });
于 2016-01-04T16:54:24.710 に答える
0

キーを押した後にフォーカスを変更してみてください。例えば:

//this will un-select the text box, hiding keyboard
$('#searchInputId').blur();

//this will focus on something else, hiding keyboard
$('#somethingOtherThanTheSearch').focus();
于 2012-08-10T09:36:20.847 に答える