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

Enable special characters in form input

我正在寻找一种 (preferrably HTML or Javascript) 方法让我的用户能够将光标放在我的许多文本输入字段中的任何一个,然后键入 "CTRL-SHIFT-A," 并让它显示macron-A实体("Ā", also coded as Ā)。我已经找到了一种 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()。我查了你的字符和 found details on Wikipedia,在那里我使用了 Unicode 值,它是 256。所以这里有一个例子:

alert(String.fromCharCode(256))

要继续 "how to place the string into the input control that has focus" 您可以按如下方式修改函数:

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/