Javascript捕获密钥

时间:2009-04-16 15:53:32

标签: javascript

我正在尝试使用javascript从textarea中删除回车键。问题是虽然我能够发现按下“输入”键,但我无法避免它进入textarea。我不希望输入键,即“\ n”显示在文本区域中。

有关如何实现这一目标的任何建议吗?

谢谢。

3 个答案:

答案 0 :(得分:6)

尝试将此功能设置为文本区域的onKeyDown事件:

ex:onkeydown="javascript:return fnIgnoreEnter(event);"

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

答案 1 :(得分:2)

更新,更清洁:使用event.key代替event.keyCode不再有任意数字代码!

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

Mozilla Docs

Supported Browsers

答案 2 :(得分: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>