for(var i=0;i<names.length;i++)
   {
    var li=document.createElement("li");
    li.innerHTML=names[i].toString();
    li.id=iids[i];
    
    //给li赋于事件
    li.onmouseover=function(){omv(li);}
    li.onmouseout=function(){omu(li);}
    li.onmousedown=function(){omd(li);}
    
    $("ulMes").appendChild(li);
    $("ulMes").style.display="block";
     $("ulMes").style.display="block";
   }只有最后一个li有事件,谁帮解释下

解决方案 »

  1.   


    for(var i=0;i<names.length;i++)
       {
        var li=document.createElement("li");
        li.innerHTML=names[i].toString();
        li.id=iids[i];    
           
        $("ulMes").appendChild(li);
        $("ulMes").style.display="block";
         $("ulMes").style.display="block";   //给li赋于事件
        li.onmouseover=function(){omv(li);}
        li.onmouseout=function(){omu(li);}
        li.onmousedown=function(){omd(li);}
       }交换一下位置,因为你之前对li注册事件之后又对dom进行了操作,所以会出现这样的状况。等你dom操作完成之后再注册事件就可以了。
      

  2.   

    li.onmouseover=function(){omv(this);}
        li.onmouseout=function(){omu(this);}
        li.onmousedown=function(){omd(this);}
      

  3.   

    额,不对,注册的时候这样,不好意思。
    $("li").onmouseover=function(){omv(this);}
    $("li").onmouseout=function(){omu(this);}
    $("li").onmousedown=function(){omd(this);}
      

  4.   

    应该是你其他地方的原因吧,你的顺序应该是可以的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
    <style type="text/css">
    ul{width:100%}
    li{float:left;margin-left:20}
    </style>
     </HEAD> <BODY>
    <ul id="ulMes"> <ul>
    <div id="xx" style="width:300;height:100;border:1px red solid;color:blue;font-size:30px"></div>
      <script type="text/javascript">
    var names=["ddddddddd","aaaaaaaaaaaaaa","wwwwwwwwwwwww","ddddddddddd"];
    var iids=['21s','sd','x','a','xc'];
    function $(id){
    return document.getElementById(id);
    }
    for(var i=0;i<names.length;i++)
       {
    var li=document.createElement("li");
    li.innerHTML=names[i].toString();
    li.id=iids[i];

    //给li赋于事件
    li.onmouseover=function(){$("xx").innerHTML="over"+this.innerHTML;}
    li.onmouseout=function(){$("xx").innerHTML="out"+this.innerHTML;}
    li.onmousedown=function(){$("xx").innerHTML="down"+this.innerHTML;}

    $("ulMes").appendChild(li);
    $("ulMes").style.display="block";
       }
      </script>
     </BODY>
    </HTML>