应用于特卖系统的无规则上下左右移动

function okd(obj){

var code_value =event.keyCode;


//判断按?是否? -->
if(code_value==39){
 
for(var i=obj.parentNode.parentNode.cellIndex;i<obj.parentNode.parentNode.parentNode.childNodes.length;i++){
 
var next=obj.parentNode.parentNode.parentNode.childNodes[i+1].childNodes[0].childNodes[0];

if(next.nodeType!=3&&next.type!="checkbox"){

  break;
}

//如果是最后一个text,判断是否到了最后一个节点
if(next.parentNode.parentNode.cellIndex==(obj.parentNode.parentNode.parentNode.childNodes.length-1)){
//进入下一行继续循环遍历;
 for(var j=0;j<obj.parentNode.parentNode.parentNode.childNodes.length;j++){
 var row=obj.parentNode.parentNode.parentNode.rowIndex+1;//当前行的下一行
 //判断该列的第一个节点是否有孩子节点(因为页面的text固定格式为<td><div><text></div><td>)
 if(obj.parentNode.parentNode.parentNode.parentNode.rows[row].cells[j].childNodes[0].hasChildNodes()){
  next=obj.parentNode.parentNode.parentNode.parentNode.rows[row].cells[j].childNodes[0].childNodes[0];
//alert(next.parentNode.id);
//判断是否是一行文本(一行字)或者该节点是否是一个checkbox
if(next.nodeType!=3&&next.type!="checkbox"){
//alert("!!");
  break;
 
}
}
}
next.focus();
}

}

next.focus();
}
//左移
if(code_value==37){
 for(var i=obj.parentNode.parentNode.cellIndex;i>0;i--){
  if(obj.parentNode.parentNode.parentNode.childNodes[i-1].childNodes[0].hasChildNodes()){
 var next=obj.parentNode.parentNode.parentNode.childNodes[i-1].childNodes[0].childNodes[0];
  var index=obj.parentNode.parentNode.parentNode.childNodes[i-1].cellIndex;
     if(next.nodeType!=3&&next.type!="checkbox"){

     break;
    }
  }
  //判断是否已经遍历到了该行的第一个节点;如果是,则从上一行最后一个节点开始找;
  if(obj.parentNode.parentNode.parentNode.childNodes[i-1].cellIndex==0){
  //alert("");
 
   for(var j=obj.parentNode.parentNode.parentNode.childNodes.length-1;j>0;j--){
 var row=obj.parentNode.parentNode.parentNode.rowIndex-1;//当前行的上一行
 //判断该列的第一个节点是否有孩子节点(因为页面的text固定格式为<td><div><text></div><td>)
 if(obj.parentNode.parentNode.parentNode.parentNode.rows[row].cells[j].childNodes[0].hasChildNodes()){
  next=obj.parentNode.parentNode.parentNode.parentNode.rows[row].cells[j].childNodes[0].childNodes[0];
//alert(next.parentNode.id);
//判断是否是一行文本(一行字)或者该节点是否是一个checkbox
if(next.nodeType!=3&&next.type!="checkbox"){
//alert("!!");
  break;
 
}
}
}
next.focus();
 
 
 
  }
}
next.focus();
}


//上移
if(code_value==38){

  var i=obj.parentNode.parentNode.cellIndex;//单元格所在列数
  var row=obj.parentNode.parentNode.parentNode.rowIndex-1; //上移后单元格所在行数
 if(row>0){

 var next=obj.parentNode.parentNode.parentNode.parentNode.rows[row].childNodes[i].childNodes[0].childNodes[0];
}
next.focus();
}
//下移
if(code_value==40){
 var i=obj.parentNode.parentNode.cellIndex;
 var row=obj.parentNode.parentNode.parentNode.rowIndex+1;
 if(row!=obj.parentNode.parentNode.parentNode.parentNode.rows.length ){
 var next=obj.parentNode.parentNode.parentNode.parentNode.rows[row].childNodes[i].childNodes[0].childNodes[0];
}
next.focus();
}
}

你可能感兴趣的:(function)