2012-05-31 75 views
5

我想開發一個jQuery插件,當用戶輸入特定的關鍵字時做一個動作。結合按鍵和鍵盤 - jQuery

例如,我想匹配鍵「HELLO」。

var controllerKey = []; 
$(window).keyup(function(evt) { 
    var code = evt.keyCode ? evt.keyCode : evt.which; 
    controllerKey.push(code); 
} 
[...] 

然後,我比較我controllerKey與我的字符串「HELLO」(感謝str.charCodeAt())和一些其他的東西,但在這裏,這並不重要。 此時一切正常。當我想匹配的「Hello」(其實當字符串有一些大寫

我的問題發生。我在論壇上看到keyup或keydown沒有任何區別。

所以我使用按鍵管理它很好,但按鍵不允許我匹配箭頭鍵,所以(在Chrome中)。

我想知道是否可以結合按鍵和鍵控(僅當按鍵不符合事件時)。

在此先感謝。

+0

他們是否在輸入中輸入了這個短語?你也提到你的問題是比較不同情況的字符串,然後你問關於按鍵和鍵控? – lucuma

+0

不是。它是一個插件,可以像「konami代碼」一樣進行操作,但可以使用您選擇的密碼。我比較第一個字符串(關鍵短語)與用戶輸入 –

+0

我認爲我太年老,不知道什麼是konomi代碼,但是我已經給你提供了關於結合這兩個事件的答案。 – lucuma

回答

9

您可以像這樣將它們組合起來:

$(window).on('keyup keypress', function(e) { 
    if (e.type=="keyup") { 

    } else { 
     // it is keypress 
    } 
}); 
+0

因此,您可以通過s.toUpperCase()輕鬆比較字符串== t.toUpperCase() – lucuma

+0

您的回答將幫助我。謝謝。 (我不想使用upperCase的比較,因爲我想保留這些信息) –

+0

任何原因,這不適用於IE? – RMiranda

2

您可以使用隱藏輸入關鍵事件纔能有跨瀏覽器區分大小寫比較。