JQuery UI Autocomplete Helperテキストを削除/変更する方法は?
JQuery UI 1.9.0の新機能のようです。これまで何度もJQuery UIを使ってきましたが、このテキストがポップアップすることはありませんでした。
APIドキュメントにも関連するものは見つかりませんでした。
そこで、ローカルソースを使った基本的なオートコンプリートの例として
$( "#find-subj" ).autocomplete({
source: availableTags
});
検索が一致すると、このような関連ヘルパーテキストが表示されます。
'1件ヒットしました、上下矢印キーで移動してください。
JQueryのセレクタで削除するのではなく、いい感じに無効化するにはどうしたらいいでしょうか。
93
10
すでに回答があるようですが、一応、実装例を挙げておきます。
これはアクセシビリティのために使用されるもので、簡単に非表示にする方法はCSSを使用することです。
または(下のDaniel'のコメントを参照してください。)
ここでの一番の答えは、望ましい視覚効果を達成しますが、ARIAをサポートしているjQueryの目的を打ち負かし、それに依存しているユーザーにとっては少しおかしいです。! jQuery CSSがこれを隠していると述べた人は正しいです。これがそれを行うスタイルです。
メッセージを削除する代わりに、スタイルシートにコピーしてください:)。
このブログ]1によると。
ARIAのライブリージョンを使用して、結果が利用可能になったことをお知らせするようになりました。
githubのautocomplete source codeの571行目あたりに、実際に実装されている部分がありますね。
jquery cssを追加すると、命令テキストを削除することもできます。
これはアクセシビリティの理由でそこにあるので、おそらくCSSでそれを隠すのが最善です。
ただし、以下をお勧めします。
ではなく:
前者はアイテムを画面外に非表示にしますが、スクリーンリーダーがそれを読むことができますが、「display:none」はそうではありません。
さて、この質問は少し古いですが、対応するcssファイルを含めると、テキストはまったく表示されません。
もちろん、「YOUR_THEME_HERE」の代わりに実際のテーマを挿入する必要があります。 「滑らかさ」。
jQueryテーマ自体がそれをスタイルする方法を説明します。 他の多くの回答はスタイルシート全体を含めることを提案していますが、関連するCSSが必要な場合は、これが
http://code.jquery.com/ui/1.9.0/themes/smoothness/jquery-ui.css
で行われている方法です。スクリプトのオートコンプリートの直後にこのコードを追加すると、迷惑なヘルパーがページから押し出されますが、スクリーンリーダーを使用しているユーザーは引き続きメリットがあります。
私はJSでCSSを操作するファンではありませんが、この場合、それは理にかなっていると思います。 JSコードは最初に問題を作成し、問題は同じファイルの下の数行で解決されます。 IMOこれは、.uiヘルパー非表示のアクセス可能なクラスがそのように変更された理由を知らない他の人々によって編集される可能性がある別のCSSファイルで問題を解決するよりも優れています。
jQuery CSS .ui-helper-hidden-accessibleは、themes / base /core.cs sファイルにあります。 順方向互換性のために、このファイルを(少なくとも)スタイルシートに含める必要があります。