2014-02-05 31 views
-1

在這裏搜索,我發現this tutorial,這真的很有幫助。我可以輕鬆地按document.onkeypress來獲取按鍵,並且String.fromCharCode()可以將鍵碼轉換爲可讀的字符。但我想知道如何能夠檢測到特定的單詞?Javascript - 根據按鍵獲得單詞

像:

var words; // something to store the latest 3 words for example 

// then somehow concatenate each key pressed 
// separating in the array based on the space key 

var all = words[0]+" "+words[1]+" "+words[2]; 
var lastTwo = words[1]+" "+words[2]; 
if(all == "i love you"){ 
    alert("I love you too :)"); 
}else if(lastTwo = "screw you"){ 
    alert("You should not say something like this to me"); 
} 

編輯:我真正感興趣是我怎麼可以連接鍵遞歸?

+1

這個詞存儲在哪裏?如果某人正在輸入框中輸入內容,只需在每次按鍵之後獲取該框的值即可。 –

+1

存儲在var本身。沒有與用戶的輸入交互。就像我提到的鏈接一樣,您通常只需鍵入,並獲得警報。我想獲得有關特定情況的警報。我試圖繼續遞歸地執行函數,但是在連接值時我並沒有很好地結束。 –

回答

1

我唯一的問題是,我直接編輯與納米服務器上的HTML文件,所以我只是犯,我不能承認一些錯誤。

基本上做:

var word = ""; 
function dump(e){ 
    var unicode = e.keyCode? e.keyCode : e.charCode; 
    var actualkey = String.fromCharCode(unicode); 
    word += actualkey; 
    alert(word); 
} 
document.onkeypress = dump 

我能看清按鍵串接這是我的主要問題。之後,我會將值調整爲一個數組並像@Diodeus建議的那樣整齊地加入它們。

+0

你應該接受你自己的答案。 – drewish

+2

我當時不能。它阻塞了幾天。我只是在等待。 –

+0

啊,是的,我完全誤讀了日期。 – drewish

2

首先,你需要建立你的數組元素連接成一個字符串:

var phrase = words.join(" "); 

然後看看有什麼在那裏。

if(phrase.indexOf('sandwiches')>-1) { 
    alert("found sandwiches! let's eat."); 
} 
+1

瞭解。但我想我沒有清楚地表達自己。我的問題是如何連接鍵來組成單詞。 –

+0

顯示您的按鍵處理程序代碼。 –

+1

在我真正關注我的問題之前,我很愚蠢(懶惰)地問這個問題。無論如何,謝謝你的時間。 –