ich ein jQueryUI Menü mit id leftmenu
und auf seiner Liste Elementen definiert habe, habe ich einen Artikel auf Klick eine Funktion wie folgt definiert:Fokus Fangen auf einem jQueryUI Menüpunkt mit einem Hörer breiter als ein Klick Zuhörer
$('#leftmenu>li').click(function() {
var clickedId = this.id;
$.ajax({
type: "POST",
cache: false,
url: "/Session/Index/",
success: function (result) {
if (result.length > 0)
{
performListItemAction(clickedId);
}
else
{
window.location.href = '/Home/Index/'
}
}
});
});
Dies funktioniert gut, aber jetzt möchte ich es ändern, so dass anstelle der click
auf den Menüpunkt, möchte ich Fokus und Auswahl auf dieses Element auf eine allgemeinere Weise, wie die Tastatur zu erfassen. Zurzeit kann ich mit den Auf- und Ab-Tasten auf der Tastatur durch das Menü navigieren, aber der innere Code wird nicht aufgerufen. Ich weiß, das ist, weil es nur auf click
passieren soll, aber das gleiche Ding glücklich, als ich versuchte activate
und focus
anstelle der click
auch.
Wie kann ich erreichen, dass es das gleiche Verhalten wie click
auf eine allgemeinere Art und Weise ausführt, die die Auswahl und Eingabe des Menüelements erfasst?
Vielen Dank.
haben Sie ein Ereignis Versuchen Sie, für 'keydown()' und prüfen, ob die Enter-Taste gedrückt wurde .. –
@Pamblam ich gerade versucht, '$ ('# leftmenu> li'). keydown (funktion (e) { if (e.keyCode == 13) { warnung ('drücken sie geben^^ ^'); } ...' and es hat nicht funktioniert – ITWorker
verwenden '$ (Dokument) .on (" keydown ", functi on() {}) 'und überprüfen Sie' document.activeelement', um zu sehen, ob es einer der Menüpunkte ist –