我有一个实时搜索输入框,它显示结果并允许您在结果弹出时使用上下箭头,但是我希望防止使用上下箭头时光标向左或向右移动。我无法解决这个问题。我尝试过e.preventDefault()
但是没有成功。以下是我尝试过的方法:
if(e.which == 40){
e.preventDefault();
current = results.find('li.hover');
current.removeClass();
var next = current.next('li');
if(next.length == 0){
next = current.parent().parent().parent().next().find('li:first');
/* Go back to the top */
if(next.length == 0){
next = results.find('li:first');
}
}
next.addClass('hover');
return false;
}
谢谢!
.closest()
(参考)代替多个.parent()
函数 - 这样可以使代码更易读 ;) - Mottie