用户同时按下两个或多个按键时,如何判断用户按下了哪些键:
比如如何判断用户同时按下了‘A’和‘H’键
Clark提供的思路可行,非常感谢,实验代码如下:
<script>
var keyCodeArry=[];
document.onkeydown=function(ev){
var oEvent=ev||event;
keyCode=oEvent.keyCode;
keyCodeArry=addKeyCodeArry(keyCode,keyCodeArry);
console.log(keyCodeArry);
}
document.onkeyup=function(ev){
var oEvent=ev||event;
keyCode=oEvent.keyCode;
keyCodeArry=deletKeyCodeArry(keyCode,keyCodeArry);
console.log(keyCodeArry);
}
function addKeyCodeArry(num,arr){
var check=0;
for (var i=0;i<arr.length;i++) {
if (arr[i]==num) {
check=1;
}
}
if (check==0) {
arr.push(num);
}
return arr;
}
function deletKeyCodeArry(num,arr){
for (var i=0;i<arr.length;i++) {
if (arr[i]==num) {
arr.splice(i,1);
}
}
return arr;
}
</script>
Ctl,alt是有专门判断的属性的。如果是其他的组合,我有想法,就是keydown的时候,push到Array里面存着,keyup的时候在删掉对应的。每次keydown的时候检查一下array。
只是想法,没试过