2009-09-30 88 views
1

我想使用ruby on rails,jquery和一個名爲jrails_auto_complete的插件組合一個自動完成框。它在FF中正常工作,但在safari 4中鍵盤選擇不起作用。我很想嘗試解決這個問題,但似乎無法做到這一點。我不太瞭解Java腳本,也許有人可以幫忙。 Safari 4中的關鍵操作是否存在已知問題?鍵盤選擇不在safari中工作

的插件有鍵盤代碼:

onKeyPress: function(e) { 
      var autocomplete = this; 

      if (this.active) { 
       switch (e.keyCode) { 
        case 9:  // tab 
        case 13: // return 
         this.selectEntry(); 
         stopEvent(e); 
        case 27: // esc 
         this.hide(); 
         this.active = false; 
         stopEvent(e); 
        case 37: // left 
        case 39: // right 
         return; 
        case 38: // up 
         this.markPrevious(); 
         this.render(); 
         stopEvent(e); 
         return; 
        case 40: // down 
         this.markNext(); 
         this.render(); 
         stopEvent(e); 
         return; 
       } 
      } 

我做了一些調試,發現某些鍵,包括字母鍵和返回鍵將調用這個函數...我不知道爲什麼有些人會不被onKeyPress拾起。

感謝

回答

2

使用​​事件,不keypress,檢測非字符鍵。這一直是這種情況,但Safari發送的密鑰與其他瀏覽器略有不同。

Explanation