我有一个显示结果的实时搜索输入,并允许您在结果弹出时使用向上和向下箭头,但我想在使用向上和向下箭头时阻止光标向左或向右移动。我无法弄清楚这一点。我试了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;
}
谢谢!
答案 0 :(得分:14)
你绑定这个onkeyup还是keydown?如果你正在使用keydown,你可以阻止它,如果你使用keyup,事件已经发生。否则e.preventDefault()应该正常工作。
答案 1 :(得分:0)
你可以做类似...
$('#content').on('keydown', function(event) {
var key = event.originalEvent.key;
if (key == 'ArrowDown' || key == 'ArrowUp') {
event.preventDefault();
}
});
$('#content').on('keyup', function(event) {
// do stuff
});