Conforme mostrado abaixo:
Copie o código do código da seguinte forma:
//begin---------------controles das teclas para cima, para baixo, esquerda e direita
if('${iscontrol_mchntid}'.indexOf('${mchntid}')!=-1){
var textos = new Array();
//Definir o local onde o foco está localizado
var x = 2;
var y = 3;
var maxx = 0;
var maxy = 0;
janela.onload=função(){
var entradas = $("[local]");
for(var i = 0; i < entradas.comprimento; i++){
textos.push(entradas[i]);
}
for(var i = 0; i < textos.comprimento; i++){
textos[i].onfocus = new Function("setCurrent('" + textos[i].getAttribute("localização") + "')");
var crtx = parseInt(texts[i].getAttribute("local").split(",")[0]);
var crty = parseInt(texts[i].getAttribute("local").split(",")[1]);
maxx = maxx < crtx ?
maxy = maxy < crty : maxy;
textos[i].onkeydown = função(e){
e = e || janela.evento;
switch(e.keyCode){
case 38:setPosition(x,y,38);break;//Up
case 40:setPosition(x,y,40);break;// Próximo
case 37:setPosition(x,y,37);break; //esquerda
case 39:setPosition(x,y,39);break; //direita
case 45:setPosition(x,y,45);break; //A chave de inserção/chave de retorno é excluída na caixa de entrada e a biblioteca de entrada tem um valor, caso contrário, ela é excluída e retornada à página anterior
padrão: retornar verdadeiro;
}
};
}
};
função setPosition(x,y,keyCode){
//Adicione a lógica de alterar dinamicamente a posição aqui ----begin
//Ao subir e descer, apenas a coordenada y é alterada e a coordenada x é alterada automaticamente.
//Quando à esquerda e à direita, apenas a coordenada x é alterada e a coordenada y é alterada automaticamente.
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';
}
}
//Adicione a lógica de alterar dinamicamente a posição aqui ----end
if(keyCode == '38'){
x = --x;
}
if(keyCode == '40'){
x=++x;
}
if(keyCode == '37'){
y = --y;
}
if(keyCode == '39'){
y = ++y;
}
movePosition(x,y,keyCode);
}
função movePosition(x1,y1,keyCode){
if(keyCode == '45'){
//Quando o objeto onde o cursor está localizado é inserido
var st = x1+","+y1;
if($("input[location='"+st+"']").attr("type")=="texto"){
var oldval = $("input[location='"+st+"']").val();
var newval = oldval.substring(0,oldval.length-1);
$("input[location='"+st+"']").val(newval);
retornar falso;
}outro{
história.go(-1);
retornar falso;
}
}
x1 = x1 > maxx 1 : x1;
y1 = y1 > máximo 1 : y1;
x1 = x1 < 1 ? maxx : x1;
y1 = y1 < 1 ? máximo: y1;
varj = 0;
for(; j < textos.comprimento; j++){
if(textos[j].getAttribute("local") == x1 + "," + y1){
textos[j].focus();
quebrar;
}
}
if(j == textos.comprimento){
switch(chaveCode){
caso 38: movePosition(--x1,y1,keyCode);break;//Up
case 40:movePosition(++x1,y1,keyCode);break;// Próximo
case 37:movePosition(x1,--y1,keyCode);break;//esquerda
caso 39: movePosition(x1,++y1,keyCode);break;//direita
}
}
}
function setCurrent(localização){
x = localização.split(",")[0];
y = localização.split(",")[1];
}
}
//fim---------------Controles das teclas para cima, para baixo, esquerda e direita