Na função CreateSelect (), retorne um objeto, e os dois métodos deste objeto são a seguir ()
e MoveSelect () chamado em prev () pode apontar corretamente a função, ou também pode ser usado para
A função MoveSelect () é colocada fora.
A cópia do código é a seguinte:
/* Escolhas recomendadas para operação e problema do teclado*/
var curdo = nulo;
var select = CreateSelect ();
$ ('#palavras -chave'). KeyUp (function (e) {
var theEvent = e || Window.Event;
código = theEvent.KeyCode? theEvent.KeyCode: (theEvent.which?
var chave = {
UP: 38,
Down: 40,
Del: 46,
Guia: 9,
Retorno: 13,
ESC: 27,
Backspace: 8,
Esquerda: 37,
Direita: 39
};
ClearTimeout (Curdo); // Quando o teclado aparece, a operação de aquisição de dados AJAX programada deve ser cancelada.
Switch (código) {
chave de caso.Up:
select.Next ();
quebrar;
Case Key.Down:
select.prev ();
quebrar;
CASE KEY.RETURN:
$ ('. sugerir hover'). Trigger ('clique');
quebrar;
CASE KEY.LEFT:
quebrar;
chave de caso.
quebrar;
padrão:
curdo = setTimeout (getSugGest (), 300);
quebrar;
}
});
/* sugira operação de seleção*/
função createSelect () {
var classes = {
Ativo: "sugestão"
};
função moveselect (step) {
var listItems = $ ('. sugester-results li');
// o número atual de etapas do mouse
var ativo;
ativo = $ ('.'+classes.active) .Index ();
listItems.eq (ativo) .RemoveClass (classes.active);
ativo += etapa;
if (ativo <0) {
Active = listItems.size () - 1;
} else if (Active> = listItems.size ()) {
ativo = 0;
}
var ActiveItem = listItems.eq (ativo) .addclass (classes.active);
};
retornar {
Próximo: function () {
MoveSelect (-1);
},
prev: function () {
MoveSelect (1);
}
};
};
O acima é todo o conteúdo compartilhado por este artigo. Espero que gostem