2

最新バージョンのJqueryUIオートコンプリート(1.8.23)を使用しています。私はautoFocus:trueプロパティを使用していますが、これは大きな問題を引き起こしています。

入力ボックスにテキストを少し速いペースで入力し始めると、autoFocus:trueにより、テキストが以前の一致の値に置き換えられます。

たとえば、「foot」と入力すると、サーバーにリクエストが送信され、オートコンプリートドロップダウンの最初の選択が「foot」になりますが、すぐに「football」と入力し続けます。これは、私がタイプするときに文字ボールを置き換えます。

誰かがこれに直面し、解決策を見つけましたか?

アップデート

これはjqueryuiサイトで発生したバグです。修正済みとして閉鎖されましたが、ダウンロード可能な最新の安定バージョンでは利用できません。 http://bugs.jqueryui.com/ticket/7555

誰かがこのソリューションの回避策を見つけた場合は、それを共有できれば素晴らしいと思います。

4

1 に答える 1

1

バグはJQueryUIチームによって「修正済み」としてクローズされましたが、修正は1.9.0リリースでのみ利用可能であることが示されています。それまでは、これは問題の回避策です。ブラーイベントがこの問題の原因です。

次のコードをページのJavaScriptに追加します。

$('.ui-autocomplete-input').each(function (idx, elem) {
      var autocomplete = $(elem).data('autocomplete');
      if ('undefined' !== typeof autocomplete) {
            var blur = autocomplete.menu.options.blur;
            autocomplete.menu.options.blur = function (evt, ui) {
                  if (autocomplete.pending === 0) {
                        blur.apply(this,  arguments);
                  }
             };
      }
 });

クレジットはこれらの人々に行きます

于 2012-08-18T22:50:02.513 に答える