아래와 같이:
다음과 같이 코드 코드를 복사합니다.
//시작---------------위, 아래, 왼쪽 및 오른쪽 키 제어
if('${iscontrol_mchntid}'.indexOf('${mchntid}')!=-1){
var texts = new Array();
//포커스가 있는 위치로 설정
var x = 2;
var y = 3;
var maxx = 0;
var 최대값 = 0;
window.onload=함수(){
var inputs = $("[위치]");
for(var i = 0; i < inputs.length; i++){
texts.push(입력[i]);
}
for(var i = 0; i < texts.length; i++){
texts[i].onfocus = new Function("setCurrent('" + texts[i].getAttribute("location") + "')");
var crtx =parseInt(texts[i].getAttribute("location").split(",")[0]);
var crty =parseInt(texts[i].getAttribute("location").split(",")[1]);
maxx = maxx < crtx : maxx;
맥시 = 맥시 < crty ? crty : 맥시;
texts[i].onkeydown = 함수(e){
e = e ||
스위치(e.keyCode){
사례 38:setPosition(x,y,38);break;//위
사례 40:setPosition(x,y,40);break;// 다음
사례 37:setPosition(x,y,37);break;//왼쪽
사례 39:setPosition(x,y,39);break;//right
case 45:setPosition(x,y,45);break; //삽입 키/리턴 키는 입력 상자에서 삭제되고 입력 라이브러리에는 값이 있으며, 그렇지 않으면 삭제되어 이전 페이지로 돌아갑니다.
기본값: true를 반환합니다.
}
};
}
};
함수 setPosition(x,y,keyCode){
//여기에 위치를 동적으로 변경하는 논리를 추가합니다----시작
//상하 이동시 y좌표만 변경되고, x좌표는 자동으로 변경됩니다.
//좌우시 x좌표만 변경되고, y좌표는 자동으로 변경됩니다.
if(keyCode == '38' && x == '3'){
if(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
if(keyCode == '40' && x == '4'){
if(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
//여기에 위치를 동적으로 변경하는 논리를 추가합니다.---end
if(키코드 == '38'){
x = --x;
}
if(키코드 == '40'){
x = ++x;
}
if(키코드 == '37'){
y = --y;
}
if(keyCode == '39'){
y = ++y;
}
movePosition(x,y,keyCode);
}
함수 movePosition(x1,y1,keyCode){
if(키코드 == '45'){
//커서가 위치한 객체가 입력되었을 때
var st = x1+","+y1;
if($("input[location='"+st+"']").attr("type")=="text"){
var oldval = $("input[location='"+st+"']").val();
var newval = oldval.substring(0,oldval.length-1);
$("input[location='"+st+"']").val(newval);
거짓을 반환;
}또 다른{
역사.go(-1);
거짓을 반환;
}
}
x1 = x1 > 최대 x 1 : x1;
y1 = y1 > 최대 1 : y1;
x1 = x1 < 1 ? maxx : x1;
y1 = y1 < 1 ? 최대: y1;
var j = 0;
for(; j < texts.length; j++){
if(texts[j].getAttribute("location") == x1 + "," + y1){
텍스트[j].focus();
부서지다;
}
}
if(j == texts.length){
스위치(키코드){
사례 38: movePosition(--x1,y1,keyCode);break;//Up
사례 40:movePosition(++x1,y1,keyCode);break;// 다음
사례 37:movePosition(x1,--y1,keyCode);break;//왼쪽
사례 39: movePosition(x1,++y1,keyCode);break;//right
}
}
}
함수 setCurrent(위치){
x = 위치.분할(",")[0];
y = 위치.분할(",")[1];
}
}
//end---------------위, 아래, 왼쪽 및 오른쪽 키 제어