JSP的代码:<div id="<%=pds.getId() %>" onclick="showul('<%=pds.getId() %>')">
   <img class="img_jiao" src="<%=basePath%>/korean/images/02.jpg"/>
<a style="TEXT-DECORATION:none">
<%= bindingTiles.get(pds.getDirname()) %>
</a>
</div>JS的代码:function showul(id){
  $("#"+id).next().show();
$("#"+id).children('img').attr("src", "images/01.jpg");
$("#"+id).removeAttr("onclick");
$("#"+id).bind("click", function(){
hideul(id);
});
}function hideul(id){
$("#"+id).next().css({ display: "none"}); 
$("#"+id).children('img').attr("src", "images/02.jpg");
$("#"+id).removeAttr("onclick");
$("#"+id).bind("click", function(){
showul(id);
});  
}
在火狐下没有任何问题,可是在IE下会成了死循环,一点击就会执行这两个方法,成死循环!求救!求救!
回去烧香拜你!

解决方案 »

  1.   

    两个方法中的$("#"+id).removeAttr("onclick");换成$("#"+id).unbind("click");试下
      

  2.   

    $("#"+id).removeAttr("onclick");--->unbind( "onclick" ) //unbind :bind()的反向操作
    可是尝试用下toggle(fn,fn) 每次点击后依次调用函数
      

  3.   


    function showul(id){
         $("#"+id).next().show();
        $("#"+id).children('img').attr("src", "images/01.jpg");
        $("#"+id).removeAttr("onclick");
        $("#"+id).bind("click", function(){
            hideul(id);
        });
    }function hideul(id){
        $("#"+id).next().css({ display: "none"}); 
        $("#"+id).children('img').attr("src", "images/02.jpg");
        $("#"+id).removeAttr("onclick");
        $("#"+id).bind("click", function(){
            showul(id);
        });  
    }function toggleul(id) {
       $("#"+id).next().toggle();
       $("#" + id).attr("src") == "images/02.jpg" ? $("#" + id).attr("src","images/01.jpg"):$("#" + id).attr("src","images/02.jpg");
    }