用javascript编写网页脚本需要动态生成Table,
用insertRow()生成新的行。在加入单元格时怎样为单元个添加事件?
function MouseOver()
{
   alert("MouseOver 事件被触发!")
}
var newRow=table.insertRow(0)
var newCell=newRow.insertCell(0)
  newCell.onMouseOver="MouseOver()";
  newCell.innerHTML="123"
///////////////
 使用innerHTML给单元个付值是成功的。但是为单元个添加事件,不能被触发。不知道我错在哪里?请多指教。

解决方案 »

  1.   

    动态添加一行,可以使用<table>的insertRow()方法。和<tr>的insertCell()方法。如上。但是我还没有解决。为动态添加的行,添加事件。可以共同研究一下。
      

  2.   

    for(var i=0;i<10;i++){
    var newRow=table.insertRow()
    for(var j=0;j<10;i++){var newCell=newRow.insertCell(j)
      newCell.onMouseOver="MouseOver()";
      newCell.innerHTML=j;
    }
    }
      

  3.   

    我说的是要在Table中插入新的Text、select类型表格。而且其中的数据也要过来。
      

  4.   

    newCell.onMouseOver="MouseOver()";
    加入方法并不能触发?????
      

  5.   

    newCell.innerHTML="<select></select>";这样加入控件是可以的。(\回楼主)
      

  6.   

    onMouseOver肯定是错的啦
    JS访问事件应该全部小写。
    比如
    o.onmouseover = "";var newRow=table.insertRow(0);
    var newCell=newRow.insertCell(0);这个是对的,只要保证table是一个TABLE对象就可以了。
    后面的参数可以不加的,默认加在最后,或传一个行/列的index值来指定插到某个位置。
      

  7.   

    大小写不区分的。我向别人请教到一个办法。供大家参考:
    var newRow=table.insertRow()
    var newTR=document.CreatElement("<td onMouseOver=\"MouseOver()\"></td>");
    new TR.innerHTML="aaaaaa";
    new.applentElement(newTR);这样是可以的,个别单词我没记住,但问题解决了。拼错的地方大家查书吧。
    哈哈,能不能给分呀????
      

  8.   

    给无素增加事件处理过程:obj.attachEvent("onmouseover",functionName);
    这里的函数名就像C中的函数入口地址,alert(functionName);就会显示函数的内容!
    var t = functionName;
    t(parametersList);//就可调用指定函数
    对表格内元素的维护最好查阅MSDN帮助!!!!