Javascript 使用'+';和'-';
嗨,我的铯项目中有以下代码,我想知道如何使用字符以外的其他键。以下是我目前的情况:Javascript 使用'+';和'-';,javascript,webgl,cesium,Javascript,Webgl,Cesium,嗨,我的铯项目中有以下代码,我想知道如何使用字符以外的其他键。以下是我目前的情况: function getFlagForKeyCode(keyCode) { switch (keyCode) { case 'W'.charCodeAt(0): return 'moveForward'; case 'S'.charCodeAt(0): return 'moveBackward'; case 'Q'.charCodeAt(0): return 'moveUp'; case
function getFlagForKeyCode(keyCode) {
switch (keyCode) {
case 'W'.charCodeAt(0):
return 'moveForward';
case 'S'.charCodeAt(0):
return 'moveBackward';
case 'Q'.charCodeAt(0):
return 'moveUp';
case 'E'.charCodeAt(0):
return 'moveDown';
case 'D'.charCodeAt(0):
return 'moveRight';
case 'A'.charCodeAt(0):
return 'moveLeft';
default:
return undefined;
}
}
我希望能够使用-和+键。我怎样才能做到这一点 如果您的
keyCode
来自keypup/keypdown事件,则需要执行以下操作:
document.addEventListener("keydown", function(e){
if ((e.shiftKey && e.keyCode == 187) || e.keyCode == 107) {
e.keyCode = 43; // 43 - char code for "+"
}
if (e.keyCode == 189 || e.keyCode == 109) {
e.keyCode = 45; // 45 - char code for "-"
}
getFlagForKeyCode(e.keyCode);
}, false);
并扩展getFlagForKeyCode
函数
function getFlagForKeyCode (keyCode) {
switch (keyCode) {
case 'W'.charCodeAt(0):
return 'moveForward';
case 'S'.charCodeAt(0):
return 'moveBackward';
case 'Q'.charCodeAt(0):
return 'moveUp';
case 'E'.charCodeAt(0):
return 'moveDown';
case 'D'.charCodeAt(0):
return 'moveRight';
case 'A'.charCodeAt(0):
return 'moveLeft';
case '+'.charCodeAt(0):
// return what you need
case '-'.charCodeAt(0):
// return what you need
default:
return undefined;
}
}
上、下、左、右使用代号为37-40的箭头键,+和-键分别为187和189:
function getFlagForKeyCode(keyCode) {
switch (keyCode) {
case 187:
return 'moveForward';
case 189:
return 'moveBackward';
case 38:
return 'moveUp';
case 40:
return 'moveDown';
case 39:
return 'moveRight';
case 37:
return 'moveLeft';
default:
return undefined;
}
}如何获得
keyCode
?谢谢你的回答,但我找到了一个更简单的解决方案。187不移位是一个“=”符号。是的,这不重要,尽管我只是想要那个键而不是符号。