关键语句如下,帮忙看看,解释一下什么原因,谢谢var obj = new Object();
var row = dgFormList.insertRow(rowIndex);
setRowAttributes(row);
obj.row = row;
return obj;// 动态增加行时,设置行的事件、样式
function setRowAttributes(row)
{
    row.className = row.rowIndex % 2 == 1 ? "dg_row" : "dg_altrow";
    
    row.onclick = function()
    {
        rowClick(row);
    }
    row.onmouseover = function()
    {
        rowMouseOver(row);
    }
    row.onmouseout = function()
    {
        rowMouseOut(row);
    }
    
    // 因为上面动态添加的事件无法更新HTML,在submit前保存表格的innerHTML时事件将会丢失,
    // 为了在页面刷新并重加载表格后事件仍然有效,特将这些事件以属性(注意大小写必须不同)的形式再设置一次(因为属性的设置会更新HTML)
    row.setAttribute("onClick", "rowClick(this)");
    row.setAttribute("onMouseOver", "rowMouseOver(this)");
    row.setAttribute("onMouseOut", "rowMouseOut(this)");
}

解决方案 »

  1.   

    我想说的是 insertRow()方法是table对象的方法 想要用insertRow()方法应该是table对象来调用 还有 insertCell()是row对象的方法 合理调用就OK了
      

  2.   


    dgFormList 是一个table对象 insertCell() 有调用并能成功插入行到表中  只是设置的事件无效果setRowAttributes函数在其他地方是能正常使用的,insertRow时无效果
      

  3.   


    没用 跟我写的是一样,我甚至这样写都无效row = dgFormList.insertRow(rowIndex);debugger;
         row.onclick = function()
         {
            alert("sdf");
         }
         row.id = trid;
         obj.row = row;
         return obj;
      

  4.   

    我用setRowAttributes()得到的结果
    outerHTML=<TR id=01.02.4 class=dg_row onClick=\"rowClick(this)\" onMouseOver=\"rowMouseOver(this)\" onMouseOut=\"rowMouseOut(this)\">....</TR>页面还是没效果 帮忙看看 是什么问题
      

  5.   

    然后[Events]为 onclick {...} Object
    {...} 是表示什么呢?