1

jQuery UI オートコンプリートを備えたテキスト フィールドがあります。ユーザーに何かを入力させ、オートコンプリートでオプションを表示させ、ユーザーがオプションをクリックすると、ぼかし/フォーカスアウトをトリガーして、ユーザーが値を選択したことを示します。

残念ながら、オートコンプリート オプションをクリックすると、jQuery UI はテキスト フィールドにフォーカスを置いたままになるようです。

これを修正する方法についてのアイデアはありますか?

4

2 に答える 2

3

closeオートコンプリート フィールドのイベントを使用できます。

クイックリファレンス:

メニューが非表示になったときにトリガーされます。すべての終了イベントに変更イベントが伴うわけではありません。

コード:

$("#tags").autocomplete({
    source: availableTags,
    close: function(){
        this.blur();
    }
});

デモ: http://jsfiddle.net/IrvinDominin/T2WRc/

于 2013-08-21T13:58:25.287 に答える
0

Irvin の回答は、これを修正する方法を理解するのに役立ちましたが、 close 関数を使用すると、悪い副作用が生じる可能性があります。結果の表示を開始した後にオートフィルが結果の表示を停止した場合、閉じる関数がトリガーされるため、この場合、何かが選択される前にぼかしもトリガーされます。

代わりに、「this.blur();」を追加するだけです。返すものを選択した後、選択関数に追加します(または、デフォルトの選択を使用している場合は単に追加します)。

彼のコード例を使用して:

$("#tags").autocomplete({
    source: availableTags,
    select: function(){
        this.blur();
    }
});
于 2020-10-06T18:40:15.773 に答える