我正在制作一个编程打字游戏,需要包含可能涉及特殊字符的所有内容。我在使用\(密钥代码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.我正在查看代码的错误部分。
答案 0 :(得分:2)
我无法测试它因为我有德语键盘布局...
string += "\\";
我认为这也是一种检查e.shiftKey的方法..