Dans la fonction createSelect (), renvoyez un objet et les deux méthodes de cet objet sont suivantes ()
et MoveSelect () appelé dans prev () peut correctement pointer la fonction, ou il peut également être utilisé pour
La fonction MoveSelect () est placée à l'extérieur.
La copie de code est la suivante:
/ * Choix recommandés pour le fonctionnement du clavier et le problème * /
var curdo = null;
var select = createSelect ();
$ ('# mots clés'). KeyUp (fonction (e) {
var theevent = e || window.event;
code = theevent.KeyCode? theevent.KeyCode: (theevent.which? theevent.which: theevent.charcode)
var key = {
Up: 38,
En bas: 40,
Del: 46,
Onglet: 9,
Retour: 13,
ESC: 27,
Backspace: 8,
À gauche: 37,
À droite: 39
};
ClearTimeout (Curdo); // Lorsque le clavier apparaît, l'opération d'acquisition de données AJAX chronométrée doit être annulée.
commutateur (code) {
Case Key.Up:
select.next ();
casser;
clé de cas.
select.prev ();
casser;
Case Key.Return:
$ ('. suggère-hover'). Trigger ('click');
casser;
Case Key.left:
casser;
Case Key.Right:
casser;
défaut:
curdo = setTimeout (getSugest (), 300);
casser;
}
});
/ * suggère une opération de sélection * /
Fonction CreateeSelect () {
var classes = {
Actif: "suggère-hover"
};
fonction MoveSelect (Step) {
var listItems = $ ('. suggester-résults li');
// le nombre actuel d'étapes de volant
var actif;
active = $ ('.' + classes.active) .Index ();
listItems.eq (actif) .RemoveClass (classes.active);
actif + = étape;
if (actif <0) {
active = listItems.size () - 1;
} else if (active> = listItems.size ()) {
actif = 0;
}
var activeItem = listItems.eq (actif) .AddClass (classes.active);
};
retour {
Suivant: fonction () {
moveselect (-1);
},
prev: function () {
MoveSelect (1);
}
};
};
Ce qui précède est tout le contenu partagé par cet article. J'espère que tu l'aimes