jQuery-Aufnahme beider HOVER-und FOKUS zusammen (Maus und Tastatur)
Ich Baue ein mega-Menü, wo ich möchte in der Lage sein, um die trigger-Menü per hover (mit der Maus) und Fokus (wie tabbing, um es über die Tastatur).
Dies ist, was ich derzeit mache:
$(".megaMenu-trigger").focus(function (){$(this).hover()});
$(".megaMenu-trigger").hover(function(){
//do the stuff
});
Dies funktioniert, aber Frage mich, ob das der ideale Weg, um Tastatur-und Maus-Interaktionen zusammen.
InformationsquelleAutor DA. | 2010-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie die bind-Methode zu binden mehrerer Ereignisse zu einer Aktion, d.h.
Ich würde davon ausgehen, dass JQuery verarbeitet es in der effizienteste Weg
Es sieht aus wie jQuery 1.7+ jetzt bevorzugt, die Sie verwenden
.on()
statt.bind()
. So ziemlich dieselbe syntax, aber für diese Antwort. Ersetzen Sie einfachbind
miton
, folgendermassen:$('.megaMenu-trigger').on("mouseenter focus mouseleave", function(event) { console.log(event.type); });
InformationsquelleAutor Aly
Die Antwort auf Ihr problem ist ein UI-design-Entscheidung.
Übrigens mein Mac OS zu funktionieren scheint ist auch das neueste Ereignis. Vielleicht sind einige web-Designer beschlossen, einen anderen Weg gehen?
InformationsquelleAutor Derek Litz