日期:2014-05-16  浏览次数:20350 次

js中键盘的相关事件问题
键盘上1、2、3分别绑定了3个不同的事件。
①当按下1的时候,触发1事件;按2的时候,触发2事件。---结果:1、2有事件
②如果此时再按1或2,则不触发任何事件,如果此时按3,则触发3事件,同时清除1绑定的事件。---结果:2、3有事件
③如果此时再按2或3,则不触发任何事件,如果此时按1,则绑定并触发1事件,同时清除2绑定的事件。---结果:1、3有事件
④如果此时再按3或1,则不触发任何事件,如果此时按2,则绑定并触发2事件,同时清除3绑定的事件。---结果:1、2有事件
以下步骤:重复①②③④
也就是说,如果按键对应的事件已经触发,那么该按键不可用。

------解决方案--------------------
<script type="text/javascript">
var v1=1;
var v2=1;
var v3=0;
function test(e){
var a=e||window.event;
if(a.keyCode==49){
m1();
}else if(a.keyCode==50){
m2();
}else if(a.keyCode==51){
m3();
}
}
function m1(){
if(v1==1){
alert(1);
v1=0;
v2=1;
v3=1;
}
}
function m2(){
if(v2==1){
alert(2);
v1=1;
v2=0;
v3=1;
}
}
function m3(){
if(v3==1){
alert(3);
v1=1;
v2=1;
v3=0;
}
}
document.onkeydown=test;
</script>
不很明白你的意思 这样试试