我正在寻找一种(最好是 HTML 或 Javascript
)方法,使我的用户能够将光标放入我的多个文本输入字段中的任何一个,然后键入 “CTRL- SHIFT-A,"
并让它显示宏 A 实体(“Ā”,也编码为 Ā
)。我已经找到了一种 Javascript 方法来识别何时按下 "CTRL-SHIFT-A"
,但我只是不知道如何显示“Ā”。
Javascript
<script>
window.addEventListener("keydown", keysPressed, false);
window.addEventListener("keyup", keysReleased, false);
var keys = [];
function keysPressed(e) {
keys[e.keyCode] = true;
if (keys[17] && keys[16] && keys[65]) {
/*The solution should probably go here.*/
e.preventDefault();
}
}
function keysReleased(e) {
keys[e.keyCode] = false;
};
</script>
HTML
<input style="width: 55px;" onkeyup="lettersOnly(this);"></input>
字符集是“windows-1252”,编码为“UTF-8 with BOM”。
最佳答案
一旦找到特殊字符的代码,就可以使用String.fromCharCode()
。我查了你的 Angular 色,found details on Wikipedia ,其中我使用了 Unicode 值,即 256。这里是一个示例:
alert(String.fromCharCode(256))
要继续“如何将字符串放入具有焦点的输入控件中”,您可以按如下方式修改函数:
function keysPressed(e) {
keys[e.keyCode] = true;
if (keys[17] && keys[16] && keys[65]) {
// e.target.value is the read/write property of the
// input field that received the keyboard sequence
e.target.value=String.fromCharCode(256);
e.preventDefault();
}
}
关于javascript - 在表单输入中启用特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109227/