又是我来求救了,Jquery换事件,IE下成死循环,求救!

kbzl251 2010-05-21 11:44:41
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下会成了死循环,一点击就会执行这两个方法,成死循环!求救!求救!
回去烧香拜你!
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbzl251 2010-05-21
  • 打赏
  • 举报
回复
不行,只能展开,不能缩回去!
kbzl251 2010-05-21
  • 打赏
  • 举报
回复
二楼以上的方法都试过,需求不行,或是方法不行
kbzl251 2010-05-21
  • 打赏
  • 举报
回复
怎么个并法?
Mr-Jee 2010-05-21
  • 打赏
  • 举报
回复
把你的程序合并成我这个吧
Mr-Jee 2010-05-21
  • 打赏
  • 举报
回复

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");
}
ad0128 2010-05-21
  • 打赏
  • 举报
回复
$("#"+id).removeAttr("onclick");--->unbind( "onclick" ) //unbind :bind()的反向操作
可是尝试用下toggle(fn,fn) 每次点击后依次调用函数
apollo1031 2010-05-21
  • 打赏
  • 举报
回复
两个方法中的$("#"+id).removeAttr("onclick");换成$("#"+id).unbind("click");试下

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧