この記事を読むには、まず次のイベントを理解する必要があります (w3c から抜粋)。
blur イベント: 要素がフォーカスを失ったときに、blur イベントが発生します。
focus イベント: focus() メソッドは、テキスト フィールドにフォーカスを与えるために使用されます (特定の要素がフォーカス イベントを取得できるようにすることもできます)。
tabIndex 属性: tabIndex 属性は、ボタンのタブ キーの制御順序を設定または返すことができます。
ブラーがフォーム コントロールのみに適用されることは誰もが知っていますが、span、div、li などの場合は、それらのアクションをトリガーする方法がありません。ここで必要なのは、それらのフォーカスをトリガーする tabindex 属性を設定することだけです。 。 イベント。
実際のプロジェクト コード:
Esc. PopupMenu.prototype._createPopup=function(){
var PopupDiv = $('
'); // div を作成します
popupDiv.appendTo(this. _owner.element ); // div にスパンを追加します
var _popup=popupDiv[0];
popupDiv.hide(); _popup.show =function(){
popupDiv.show();
popupDiv.focus();
//div を設定しますget focus
};
popupDiv.blur(function(){
popupDiv.hide();
});
return
}
この段落 コードの意味は、div を使用して createPopup をシミュレートし (IE は直接生成できます)、生成時に tabindex 属性を与え、スパンを追加して、表示と非表示をサポートするようにすることです。特に注目すべきは、popupDiv、focus() です。div にフォーカスを与える必要があります。そうしないと、フォーカスがない場合にフォーカスが失われます。