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

来源:9-22 编程练习

helloGirl3519343

2016-08-21 18:07

   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);

     }


写回答 关注

2回答

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

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

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

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题