Como se muestra a continuación:
Copie el código de código de la siguiente manera:
//comienzo--------------controles de teclas arriba, abajo, izquierda y derecha
if('${iscontrol_mchntid}'.indexOf('${mchntid}')!=-1){
var textos = nueva matriz();
// Establecer en la ubicación donde se encuentra el foco
var x = 2;
var y = 3;
var máxx = 0;
varmaxy = 0;
ventana.onload=función(){
var entradas = $("[ubicación]");
for(var i = 0; i < entradas.longitud; i++){
textos.push(entradas[i]);
}
for(var i = 0; i < textos.longitud; i++){
textos[i].onfocus = new Function("setCurrent('" + textos[i].getAttribute("ubicación") + "')");
var crtx = parseInt(texts[i].getAttribute("ubicación").split(",")[0]);
var crty = parseInt(texts[i].getAttribute("ubicación").split(",")[1]);
maxx = maxx <crtx?
maxy = maxy < crty ? crty : maxy;
textos[i].onkeydown = función(e){
e = e || ventana.evento;
cambiar(e.keyCode){
caso 38:setPosition(x,y,38);break;//Arriba
caso 40:setPosition(x,y,40);break;// Siguiente
caso 37:setPosition(x,y,37);break;//izquierda
caso 39:setPosition(x,y,39);break;//derecha
case 45:setPosition(x,y,45);break; //Insertar clave/tecla de retorno se elimina en el cuadro de entrada y la biblioteca de entrada tiene un valor; de lo contrario, se elimina y se regresa a la página anterior.
predeterminado: devolver verdadero;
}
};
}
};
función establecerPosición(x,y,códigoclave){
//Agrega aquí la lógica de cambiar dinámicamente la posición----comenzar
// Al subir y bajar, solo se cambia la coordenada y y la coordenada x se cambia automáticamente.
// Cuando está hacia la izquierda y hacia la derecha, solo se cambia la coordenada x y la coordenada y se cambia automáticamente.
if(códigoclave == '38' && x == '3'){
si(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
if(códigoclave == '40' && x == '4'){
si(y=='3'||y=='4'||y=='5'||y=='6'||y=='7'||y=='8'){
y='3';
}
}
//Agrega aquí la lógica de cambiar dinámicamente la posición----fin
si(códigoclave == '38'){
x = --x;
}
si(códigoclave == '40'){
x = ++x;
}
si(códigoclave == '37'){
y = --y;
}
si(códigoclave == '39'){
y = ++y;
}
moverPosicion(x,y,keyCode);
}
función moverPosición(x1,y1,keyCode){
si(códigoclave == '45'){
//Cuando se ingresa el objeto donde se encuentra el cursor
var st = x1+","+y1;
if($("input[ubicación='"+st+"']").attr("tipo")=="texto"){
var oldval = $("input[ubicación='"+st+"']").val();
var newval = oldval.substring(0,oldval.length-1);
$("input[ubicación='"+st+"']").val(newval);
devolver falso;
}demás{
historia.go(-1);
devolver falso;
}
}
x1 = x1 > máxx 1 : x1;
y1 = y1 > maxy 1 : y1;
x1 = x1 < 1 ? máxx : x1;
y1 = y1 < 1 ?
var j = 0;
for(; j < textos.longitud; j++){
if(textos[j].getAttribute("ubicación") == x1 + "," + y1){
textos[j].focus();
romper;
}
}
if(j == textos.longitud){
cambiar(código clave){
caso 38: movePosition(--x1,y1,keyCode);break;//Arriba
caso 40:movePosition(++x1,y1,keyCode);break;// Siguiente
caso 37: movePosition(x1,--y1,keyCode);break;//izquierda
caso 39: movePosition(x1,++y1,keyCode);break;//derecha
}
}
}
función establecerActual(ubicación){
x = ubicación.split(",")[0];
y = ubicación.split(",")[1];
}
}
//fin---------------Controles de teclas arriba, abajo, izquierda y derecha