2009-04-16 62 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