目標は、リスト アイテムがホバーされたとき、またはキーボードでフォーカスされたときに、リスト アイテムの背景が青色になる JQuery オートコンプリート要素を作成することです。Facebook の検索ボックスは、これをうまくやってのけます。
各<li>
要素には、 でラップされたカスタム HTML が含まれています<a>
。これらの<a>
タグはそれぞれ class に属しますsbiAnchor
。ホバー時に青色の背景を生成するには、次の CSS を使用して正常に実行できます。
.ui-autocomplete a.ui-corner-all.sbiAnchor:hover{
background: blue;
}
しかし、ユーザーがオートコンプリート リストを上下にキーを押したときに、同じ青い背景を適用するにはどうすればよいでしょうか。CSS コードを次のように変更しても機能しません。
.ui-autocomplete a.ui-corner-all.sbiAnchor:hover, .ui-autocomplete .ui-state-focus a.ui-corner-all.sbiAnchor{
background: blue;
}
ここで正しいアプローチは何ですか?この青い背景効果は、ページ上の特定の 1 つのオートコンプリートにのみ適用されることに注意してください (いくつか存在します)。そのため、sbiAnchor を使用してそのアイテムを他のオートコンプリート要素のアイテムと区別しています。他のオートコンプリートはデフォルトの動作を保持する必要があるため、CSS セレクターが広すぎないようにする必要があります。