如何在按键上向textArea添加字符

How to add character to textArea on keypress?

本文关键字:textArea 添加 字符      更新时间:2023-09-26

我想做一个简单的脚本。当用户按下某个键时,文本区域的值将添加一个字符。例如(这不是我的情况),假设用户按下Alt + Enter键。当他们这样做时,我想在文本字段中已经存在的文本上添加一个字符。

所以,我的代码是:
function doc_keyUp(e) {
 if (e.altKey && e.keyCode == 13) {
 *insert character into textarea*
   }
}
document.addEventListener('keyup', doc_keyUp, false);

代码本身工作良好-然而,我不确定如何插入字符。任何帮助都是感激的!

只是供参考,我试图创建一个简单的乌克兰语音键盘。你可以输入一个英文字母,对应的乌克兰字母就会出现。查看http://ua.translit.cc可以更好地理解我在说什么。

function doc_keyUp(e) {
 if (e.altKey && e.keyCode == 13 || e.keyCode == 65) {
    document.getElementById("area").value += "123";
   }
}
function validateKey(e){
  // here can be whatever keys
   if (e.keyCode >= 65 && e.keyCode <= 90 || e.keyCode >= 97 && e.keyCode <= 122) return false;
}
document.addEventListener('keyup', doc_keyUp, false);
<textarea id="area" onKeyPress="return validateKey(event)">ABC</textarea>

更新以验证textarea条目中的某些键

您可以直接将文本添加到textarea的值中。

function doc_keyUp(e) {
    if (e.altKey && e.keyCode == 13) {
        textarea.text += value
    }
}
document.addEventListener('keyup', doc_keyUp, false);