簡體   English   中英

自動建議鍵盤事件不適用於keyup事件

[英]auto-suggest keyboard event not working on keyup event

我正在從頭開始創建自動建議。 我正在使用jquery-ajax函數從服務器獲取數據。 我正在過濾keyup事件上的數據以進行自動建議。

現在,在過濾之后,我想使用鍵盤的箭頭鍵瀏覽列表項,但是問題是每次我按箭頭鍵時,都會在keyup事件中刷新列表,該事件清除了通過箭頭鍵進行的選擇。

我跟蹤跟蹤我的代碼,我才知道這個原因。 這是我的代碼:

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();      
     }
 }

有人可以建議我解決這個問題嗎?

這樣嘗試

$("#inputField").keyup(function(){
    if(keycode!=38 || keycode!=40){
        //proceed to fetch suggestion...
    }else{
        //proceed navigation..
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM