2009-04-16 65 views
5

我想從使用javascript的textarea中捕獲輸入密鑰。問題是,雖然我能夠發現按下「回車」鍵,但我無法避免它進入textarea。我不希望輸入鍵即「\ n」顯示在文本區域中。Javascript捕獲鍵

有關如何實現這一目標的任何建議?

謝謝。

回答

6

嘗試設置此功能作爲文本區域的onKeyDown事件:

例如:onkeydown="javascript:return fnIgnoreEnter(event);"

function fnIgnoreEnter(thisEvent) { 
    if (thisEvent.keyCode == 13) { // enter key 
    return false; // do nothing 
    } 
} 
0

即使你堵住回車鍵後,也可粘貼到新行。 這將阻止輸入按鈕,並刪除任何得到的換行符和回車符(只在FF上試過,最小的想法放在這裏 - 它可能不適用於Safari或IE)。

<textarea rows="20" cols="50" onkeydown="return ignoreEnter(event);" onkeyup="noEnter(this);"></textarea> 
<script type="text/javascript"> 
function ignoreEnter(event) { 
return thisEvent.keyCode != 13; // enter key 
} 

function noEnter(e) { 
e.value = e.value.replace(/\n/g,''); 
e.value = e.value.replace(/\r/g,''); 
} 
</script> 
1

最近的和更清潔:使用event.key,而不是event.keyCode沒有更多的任意數字代碼!

function onEvent(event) { 
    if (event.key === "Enter") { 
     return false; 
    } 
}; 

Mozilla Docs

Supported Browsers