Um diesen Artikel lesen zu können, müssen Sie zunächst die folgenden Ereignisse verstehen (Auszug aus w3c).
Unschärfeereignis: Das Unschärfeereignis tritt auf, wenn ein Element den Fokus verliert.
Fokusereignis: Die Methode focus() wird verwendet, um dem Textfeld den Fokus zu geben (sie ermöglicht auch bestimmten Elementen, Fokusereignisse zu erhalten).
tabIndex-Attribut: Das tabIndex-Attribut kann die Reihenfolge der Tabulatortastensteuerung der Schaltfläche festlegen oder zurückgeben.
Wir alle wissen, dass Unschärfe nur für Formularsteuerelemente gilt, aber für span, div, li und dergleichen gibt es keine Möglichkeit, ihre Aktionen auszulösen. Jetzt müssen wir nur noch ein Tabindex-Attribut festlegen, um ihren Fokus auszulösen . Ereignis.
Echter Projektcode:
Esc. PopupMenu.prototype._createPopup=function(){
var popupDiv = $('
'); //Create div
popupDiv.appendTo(this. _owner.element ); //Span zu div hinzufügen
var _popup=popupDiv[0];
_popup.hide=function(){
popupDiv.hide();
} _popup.show =function(){
popupDiv.show();
popupDiv.focus();
//Lassen Sie das div get focus
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
Dieser Absatz Die Bedeutung des Codes besteht darin, dass ich div verwende, um ein createPopup zu simulieren (IE kann es direkt generieren), ihm beim Generieren ein tabindex-Attribut gebe, dann span hinzufüge und dann dafür sorge, dass es das Anzeigen und Ausblenden unterstützt. Besonders hervorzuheben ist popupDiv, focus() Sie müssen dem Div einen Fokus geben, sonst verliert es den Fokus, wenn es keinen Fokus hat.