Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用按键代码(箭头)停止窗口滚动,event.preventDefault()不工作?_Javascript_Jquery - Fatal编程技术网

Javascript 使用按键代码(箭头)停止窗口滚动,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

我构建了一个autosuggest,keycode可以在列表中上下导航,但它可以滚动窗口。我尝试了event.preventDefault(),但它没有停止它。有什么想法吗?这就是我尝试过的:

$(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 put
return false而不是
e.returnValue=false您需要两个e.preventDefault();和e.停止传播();我尝试了return false和e.stopPropagation();还在滚动!我已经在网上查遍了。我没有主意了!就在那里!非常感谢你!