0

私はまだ jQuery の初心者ですが、jQuery UI を構成し、検索ボックスにオートコンプリート機能を実装することができました。しかし、私はいくつかの問題を抱えています。オートコンプリートが壊れて、検索ボックス自体が消えることがあります。Firebug は、アクションが中止されており、応答が受信されていないことを示しています。

Firebug コンソール エラー

これらのエラーには明らかなパターンはなく、次に試したときに同じ用語が機能するため、データの問題であるとは思えません. 主な問題は、ページを更新するまで検索ボックスがページから完全に消えてしまうことです。少なくともこれを止める方法はありますか?リクエストがあれば、さらに情報を提供させていただきます。

$(document).ready(function($){
  $('.search').each(function(){
    var self = $(this);
    self.autocomplete({source: "/products/autocomplete"});
  });
});
4

2 に答える 2

0

ペドロが投稿したリンクを見ると、この回答は良い出発点のように見えます: Firebug 1.5 show 200 Aborted for Ajax requests

さらにデバッグするために、行をラップすることもお勧めします

self.autocomplete({source: "/products/autocomplete"});

console.log または alert を実行する catch を試してみてください。Firebug のコンソール ログに javascript エラーに関する何かが表示されていますか、それとも単に http の中止ですか? その行を try でラップすることは、ネットワーク エラーがページ ライフサイクルの残りの部分でそのコントロールを吹き飛ばすのを潜在的に防ぐための良いパターンかもしれません。

于 2012-05-16T19:16:21.207 に答える
0

不思議なことに、Firebug の検索ボックスを使用しようとすると、firebug 自体 (firebug 1.9) 内でまったく同じ「消失」動作が見られます。{[casesensitive],[previous],[Next]} ポップアップが表示され、検索ボックスをクリックしてフォーカスを取得するとすぐに消え、ポップアップが消えると同時にカーソルのフォーカスがずれます。これにより、検索ボックスを使用できなくなります。

ただし、回避策があります。複数回クリックすると、非常に速くポップアップが表示され、ポップアップが消えることはありません。ポップアップが表示されるようになると、検索ボックスにテキストを入力できるようになります。しかし、別の場所にフォーカスするとポップアップが消えてしまい、[次へ] をクリックして次の検索文字列を取得するのが難しくなります。繰り返しますが、素早いクリックもこれに対する回避策です。

Chrome のデバッガーではこれを再現できません。

于 2012-06-02T23:32:02.943 に答える