按下键时将\添加到字符串

时间:2017-05-29 14:42:53

标签: javascript

我正在制作一个编程打字游戏,需要包含可能涉及特殊字符的所有内容。我在使用\(密钥代码220)密钥时遇到了一些问题,我希望将它(按下按钮时)添加到字符串中,然后显示在输出中。每次拆分字符串而不是添加到输出。有什么方法可以防止这种情况吗?这是我的代码:

var out = document.getElementById("output");
var string = "";
var shift = false

document.onkeydown = function(e){
  //detect when the "shift" key is held
  if(e.keyCode == 16) shift = true;
  //just to show that this does work
  if(e.keyCode == 65){
    if(shift){
      string += "A";
    }else{
      string += "a";
    }
  }
  //pressing the / key
  if(e.keyCode == 220){
    if(shift){
      string += "|";
    }else{
      string += "\";
    }
  }
  print();
};

document.onkeyup = function(e){
  if(e.keyCode == 16) shift = false;
};
function print(){
  out.innerHTML = string;
}
<!DOCTYPE html>
<html>
<body>
<p id="output">press the \ or a key</p>
</body>
</html>

编辑:我的错误我的意思是把密钥代码的密钥是220.我正在查看代码的错误部分。

1 个答案:

答案 0 :(得分:2)

我无法测试它因为我有德语键盘布局...

string += "\\";

我认为这也是一种检查e.shiftKey的方法..