Javascript 使用按键代码(箭头)停止窗口滚动,event.preventDefault()不工作?
我构建了一个autosuggest,keycode可以在列表中上下导航,但它可以滚动窗口。我尝试了event.preventDefault(),但它没有停止它。有什么想法吗?这就是我尝试过的:Javascript 使用按键代码(箭头)停止窗口滚动,event.preventDefault()不工作?,javascript,jquery,Javascript,Jquery,我构建了一个autosuggest,keycode可以在列表中上下导航,但它可以滚动窗口。我尝试了event.preventDefault(),但它没有停止它。有什么想法吗?这就是我尝试过的: $(document).keyup(function(e) { e.returnValue=false; e.preventDefault(); switch(e.keyCode) { case 40: suggestionLine++; $('#s
$(document).keyup(function(e) {
e.returnValue=false;
e.preventDefault();
switch(e.keyCode) {
case 40:
suggestionLine++;
$('#suggestionLine_'+suggestionLine).focus();
break;
// etc...
谢谢大家! 您需要的是
keydown
,而不是keydup
为什么??您试图阻止的默认操作会在您按键时立即发生(现在试试!)。这允许自动回复,它将在发送单个
keyup
事件之前发送多个keydown
事件。当启动keyup
时,滚动已经发生。尝试返回false而不是e.returnValue=false;?像函数底部的@TheSureshAtta putreturn false代码>而不是e.returnValue=false代码>您需要两个e.preventDefault();和e.停止传播();我尝试了return false和e.stopPropagation();还在滚动!我已经在网上查遍了。我没有主意了!就在那里!非常感谢你!