2011-10-11 26 views
0

我想找到一種方法來獲取多個字符粘貼在HTML文本字段(輸入類型=文本),使用onkeydown或onkeypress,我不是感興趣的onkeyup(它的工作原理),所以請不要建議我這個解決方案。另外我對Jquery不感興趣,我不喜歡使用它。我需要解決方案來處理所有瀏覽器。如何使用onkeydown捕獲字符串之前,它接收的文本字段

我能夠做到這一點,如果您鍵入一個字符,通過採取事件的字符,但直到現在我無法從粘貼(ctrl + V)或鼠標得到一組字符。

您可以查看Facebook搜索菜單,顯示自動完成結果,它適用於事件:onkeydown和onkeypress,並且您注意到在釋放手指之前得到結果,嘗試粘貼某些東西(多個字符)和你在釋放手指之前得到結果,怎麼樣? Onkeypress和onkeydown不會顯示您粘貼或鍵入的第一件東西,因爲它們發生在將文本添加到文本字段之前。

如果你想了解什麼,我希望有更多的,請檢查下面我的代碼:

<input type="text" id="targetTextField" onkeydown="CapturePastedString(this.id)" /> 



<script> 
function CapturePastedString(id){ 

var targetTextField=document.getElementById(id); 

// below I need to capture the pasted string like: 
var pasted_string= function(){.....} 

targetTextField.value=pasted_string; 

} 
</script> 

任何幫助將是非常感激的,因爲長時間以來我嘗試,但無法找到解決辦法呢。

+0

查看[onpaste事件](http://help.dottoro.com/ljuimtmq.php) – malificent

+0

但它不兼容所有瀏覽器:(它不可能是一個解決方案。 。我已經檢查過了,有誰可以告訴我這個問題的祕密嗎?我經過百個小時的搜索並呼籲開發者,我真的找不到解決方案嗎?!!! – moderns

+0

有什麼建議嗎?難道我無法得到答案對於這個問題,從1年開始?!! – moderns

回答

0

嘗試使用onkeydown處理程序。您可以從那裏獲取keyCode,然後獲取密鑰。

<input type="text" value="" onkeydown="alert(String.fromCharCode(event.keyCode));"/>

注意,由於鍵盤上的所有字符的資本也將得到大寫字母。上面的代碼會顯示按鍵

相關問題