for (var i = 0; i < results.length; i++) {
   var whichTable=results[i]["IBSSTYPE"];
   var tr;
   if (whichTable=="GAW"){
   tr = gawBody.insertRow(gawBody.rows.length);
   }else if(whichTable=="GOW"){
   tr = gowBody.insertRow(gowBody.rows.length);
   }
var data = results[i];
for (var j = 0; j < dataHeader.length; j++ ) {
var td = tr.insertCell(tr.cells.length);
td.innerHTML = (data[dataHeader[j]])?data[dataHeader[j]]:"&nbsp;";
td.align="center";
}
(function(t){
tr.attachEvent('onmouseover',function(){mOvr(t,'#CEE1D2')})
})(tr);
(function(t){
tr.attachEvent('onmouseout',function(){mOut(t,'#FFFFFF')})
})(tr);
(function(t,wt){
tr.attachEvent('onclick',function(){selectThis(t,wt);})
})(tr,whichTable);
  }
}
function mOvr(src,clrOver){
  //if (!src.contains(event.fromElement)) {
    src.style.cursor = 'hand';
    src.bgColor = clrOver;
  //}
}
function mOut(src,clrIn)  {
  //if (!src.contains(event.toElement)) {
    src.style.cursor = 'default';
    src.bgColor = clrIn;
  //}
}
function selectThis(t,elem){
var srcType=event.srcElement.tagName;
var rownum;
if(srcType=="TD"){
rownum=event.srcElement.parentElement.rowIndex;
}else{
rownum=event.srcElement.parentElement.parentElement.rowIndex;
}
var choose;
if(elem=="GAW"){
choose="gaw_chooseid";
}else if(elem=="GOW"){
choose="gow_chooseid";
}
var r=document.getElementsByName(choose);
if(r[rownum-2].checked==true){
r[rownum-2].checked=(srcType=="TD"?false:true);
t.style.background=(srcType=="TD"?"#FFFFFF":"#99ccff");
}else{
r[rownum-2].checked=(srcType=="TD"?true:false);
t.style.background=(srcType=="TD"?"#99ccff":"#FFFFFF");
}
}经测试不点击任何一行时,鼠标经过表格的每一行时都能正常的按mOver和mOut来显示相应的背景颜色,但是当点击了其中一行后,再用鼠标经过时,却发现不能按mOver和mOut来设定背景颜色.
例外,我尝了在mOver和mOut里面加入alert函数来跟踪,发现其实这两个事件是一直有调用的,但是不知为什么不会变背景颜色。
望高手指点