问答详情
源自:9-22 编程练习

为什么只要有添加函数,鼠标移动事件就不执行了呢?是哪里出错了

   window.onload = function(){               

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

         var tr=document.getElementsByTagName("tr");

    for(var i=0;i<tr.length;i++){

     changeBgColor(tr[i]) ;  

    }

     function changeBgColor(obj){

       obj.onmouseover=function(){

           obj.style.backgroundColor= "#f2f2f2";

           }

  obj.onmouseout=function(){

      obj.style.backgroundColor= "#fff";   

  }   

 }

}   

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

  function add(){

      var tr=document.createElement("tr");

      var num=prompt("请输入学号:","xh00");

      var name=prompt("姓名:");

      tr.innerHTML="<td>"+num+"</td>"+"<td>"+name+"</td>"+"<td><a href="javascript:;" onclick="del(this)" >删除</a></td>";   

      tr.parentNode.appendChild(tr);

      /*for(var i=0;i<tr.length;i++){

     changeBgColor(tr[i]) ;  */

    }

  }

     // 创建删除函数

   function del(obj){

         var tr=obj.parentNode.parentNode;

         tr.parentNode.removeChild(tr);

     }


提问者:helloGirl3519343 2016-08-21 18:07

个回答

  • 曾经那些
    2016-08-25 11:12:14

    我是把鼠标事件单独写在一个函数中了,然后在添加函数中调用事件函数

  • 水里有条鱼
    2016-08-22 11:04:36

    每一个事件绑定的函数都调用obj,obj到底是什么鬼?会自己变化的?改为this试试吧