javascript - 在表单输入中启用特殊字符

标签 javascript forms input character entities

我正在寻找一种(最好是 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(); 
         }
}

查看实际效果:https://jsfiddle.net/kn3ko9oy/

关于javascript - 在表单输入中启用特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109227/

相关文章:

javascript - Jquery:选择页面上的所有H2标签,将这些H2标签的文本复制到列表中

php - undefined _post 使用图像作为提交

JavaScript 验证用户输入

javascript - 每次按下 Textinput 时都会调用 TouchableOpacity

java - 如何向文本文件添加行号?

javascript - 如何防止外部 CSS 添加和覆盖 ReactJS 组件样式

javascript - Buefy datepicker如何输出 'yyyy-MM-dd'字符串?

javascript - TEmbeddedWB/TWebbrowser : window. external 是一个空对象但是可以调用函数,为什么一开始是 'empty'?

html - 我的 HTML 表单上提交按钮的 'width' 的 Css 样式在移动设备上大小不正确

javascript - 在 Formik 中填写所有表单字段之前禁用按钮