2015-04-23 29 views
1

我希望用Javascript標記每個單詞在textarea中的輸入時間。標記textarea中每個單詞的輸入時間是什麼時間

我知道這可能聽起來很奇怪,但它是爲我創建的錄音應用程序。

一種方式,我認爲是使用「onchange」並記錄每次用戶按空間並創建一個數組,例如(每個值都是一個單詞)。

[0] => "2015-04-23 09:00:04", [1] => "2015-04-23 09:00:05", [2] => "2015-04-23 09:00:09" 

問題是如果一個人使用刪除按鈕或退格鍵會發生什麼情況。然後這個方法會崩潰。

你有什麼想法該怎麼辦?

+0

粘貼一些代碼。爲什麼/如何刪除按鈕崩潰? –

+0

禁止使用退格和刪除:D – Marcx

+2

如果文本可以編輯,您可能需要嘗試一種不同的方法,例如記錄差異而不是單詞日期。例如http://ejohn.org/projects/javascript-diff-algorithm/ – Stephen

回答

1

您可以檢測到哪個鍵按下,然後相應地編輯陣列:

$("textarea").keydown(function(e){ 
    switch(e.keyCode){ 
     // Backspace 
     case 8: 
      // Remove word from array if necessary 
      break; 

     // Delete button 
     case 46: 
      // Remove word from array if necessary 
      break; 

     // Anything else 
     default: 
      // Add timestamp to array 
      break; 
    }; 
}); 

在這個例子中的代碼,它不會戳你的陣列增加了退格或刪除按鈕。