function keyDown(event){
var inputs = $(".txt");
var focus = document.activeElement;
if(!document.getElementById('mm').contains('focus')){
return;
};
var event = window.event||event;
var key = event.keyCode;
var flag = -1;
for(var i=0;i<inputs.length;i++){
if(inputs[i]===focus){
break;
}
};
switch(key){
case 38:
var j=i-2;
var flag=false;
if(inputs.get(j).disabled==false){
flag==true;
}else{
for(j=i-4;j>=0;j=j-2){
if(inputs.get(j).disabled==false){
flag = true;
break;
}
}
}
if(flag){
inputs[j].focus();
}
break;
case 40:
var j = i+2;
var flag = false;
if(inputs.get(j).disabled==false){
flag = true;
}else{
for(j=i+4;j<inputs.length;j=j+2){
if(inputs.get(j).disabled==false){
flag=true;
break;
}
}
}
if(flag){
inputs[i].focus();
}
break;
case 13:
event.returnValue = false;
var j = i+2;
var flag = false;
if(inputs.get(j).disabled==false){
flag=true;
}else{
for(j=i+4;j<=inputs.length-1;j=j+2){
if(inputs.get(j).disabled==false){
flag = true;
break;
}
}
}
if(flag){
inputs[j].focus();
}
break;
}
}
直接判断keyCode不行吗,搞这么麻烦?
如果是用jq的话
$(document).on('keydown','input',function(e){
if(e.key == 'Tab' || e.keyCode == 9){
// do something
}
})
这样就可以了:)