时间:2021-05-26
在createSelect()函数中,返回一个对象,这个对象的两个方法next()
和prev()中的调用的moveSelect()能正确的指向到该函数,也可以把
moveSelect()函数放到外面来。
复制代码 代码如下:
var curDo = null;
var select = createSelect();
$('#keywords').keyup(function(e){
var theEvent = e || window.event;
code = theEvent.keyCode ? theEvent.keyCode : (theEvent.which ? theEvent.which : theEvent.charCode)
var KEY = {
UP: 38,
DOWN: 40,
DEL: 46,
TAB: 9,
RETURN: 13,
ESC: 27,
BACKSPACE: 8,
LEFT:37,
RIGHT:39
};
clearTimeout(curDo);//键盘弹起的时候应该取消定时ajax获取数据操作
switch(code) {
case KEY.UP:
select.next();
break;
case KEY.DOWN:
select.prev();
break;
case KEY.RETURN:
$('.suggest-hover').trigger('click');
break;
case KEY.LEFT:
break;
case KEY.RIGHT:
break;
default:
curDo = setTimeout(getSuggest(),300);
break;
}
});
function createSelect(){
var CLASSES = {
ACTIVE: "suggest-hover"
};
function moveSelect(step) {
var listItems=$('.suggest-results li');
//当前hover的步数
var active;
active = $('.'+CLASSES.ACTIVE).index();
listItems.eq(active).removeClass(CLASSES.ACTIVE);
active += step;
if (active < 0) {
active = listItems.size() - 1;
} else if (active >= listItems.size()) {
active = 0;
}
var activeItem = listItems.eq(active).addClass(CLASSES.ACTIVE);
};
return {
next:function(){
moveSelect(-1);
},
prev:function(){
moveSelect(1);
}
};
};
以上就是本文分享给大家的全部内容了,希望大家能够喜欢
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
以win7系统的惠普电脑为例,电脑打不出中文是因为当前输入法为英文状态,按下键盘上的【Shift】键可以进行中英文切换。按下键盘上的【Ctrl】加【Shift】
按下键盘上的【Ctrl】+【Shift】键可以进行输入法的中英文切换。输入文字时,按下【Shift】键可以进行中英文切换;如果是系统语言可以在【控制面板】的【区
最方便的就是同时按下键盘上的Windows+R,可以打开运行窗口,或者在桌面下方的Cortana搜索框输入运行即可搜索出运行窗口。 Windows10是美国微
win10的运行在:最方便的就是同时按下键盘上的Windows+R,可以打开运行窗口,或者在桌面下方的Cortana搜索框输入运行即可搜索出运行窗口。 Win
同时按下键盘上“Shift键”、“Alt键”、“NUMLK键”,开启鼠标键后使用键盘上的“2、4、6、8键”代替鼠标进行上下左右移动,“5键”代替鼠标的左键,“