首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动提示键盘事件不处理键盘事件

自动提示键盘事件不处理键盘事件
EN

Stack Overflow用户
提问于 2015-06-25 12:22:52
回答 1查看 578关注 0票数 1

我正在从零开始创建自动建议。我使用jquery函数从服务器获取数据。我正在做过滤数据的关键事件自动建议。

现在,在筛选之后,我想使用键盘的箭头键导航列表项,但问题是每次我按箭头键时,都会在keyup事件上刷新列表,这将清除通过箭头键发生的选择。

我跟踪我的代码,我知道了这个原因。这是我的代码:

代码语言:javascript
复制
var $listItems = $('li.suggestion-item');
   var key = event.keyCode,$current,
   $selected = $listItems.filter('.selected');
   if ( key != 40 && key != 38 ) { return key; }
   $listItems.removeClass('selected');
   switch(key){    
     case 40: // Down key
       if (! $selected.length || $selected.is(':last-child')) {
            $current = $listItems.eq(0).addClass('selected');
       }
       else {
            $current = $selected.removeClass('selected').next().addClass('selected');
       }
           break;
       case 38: // Up key
       if ( $selected.length ===1 || $selected.is(':first-child') ) {
            $current = $listItems.last();
       }
       else {
          $current = $selected.prev();
       }
       break;
       case 13:
            $('.suggestion-item, .error').hide();
            break;      
    }
    } else {
          $('#validline').removeClass('true');
          $('.suggestion-item, .error').hide();      
     }
 }

有人能给我建议解决这个问题的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-25 12:35:32

就像这样,

代码语言:javascript
复制
$("#inputField").keyup(function(){
    if(keycode!=38 || keycode!=40){
        //proceed to fetch suggestion...
    }else{
        //proceed navigation..
    }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31050265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档