关于jQuery.click()函数

最近接手了前同事的项目,关于使用线程控制实现代码热插拔功能!

在线程中,使用了ChatWebSocketHandler,与前台进行实时交互,今天我拿到需求是这样的,结合chatWebSocketHandler传递到页面的标识,将每一条执行之后的数据状态改写为执行成功! 前台使用$("#"+dataJson.Id).children(".state").text("成功"); 那么此处的Id是后台传来的,那么我想到的是通过Id再去后台修改状态!  我是这样实现的

websocket.onmessage = function(event) {
   var data = event.data;
   var dataJson = eval('(' + data + ')');

if(Id == 1){

$("#updateState").click(dataJson.Id,function(event){$.ajax({ update... })})
$("#updateState").click();

$('#updateState').unbind("click"); //移除click

}

}
那么此时问题来了,当执行第一条数据时,update发送了一次请求,而第二条发送,第一个和第二个Id,后面以此类推,于是我就开始尝试到底是什么问题,当然最终我还是没试出来,希望了解的朋友可以帮我解惑!  我的解决方式是当click执行之后,给他解绑,此时实现了我的需求! 由此我个人猜测,应该是click在每次加载页面的时候会执行,但是具体原因还是没找到!   如果以后找到原因,我会及时补充

 

posted @ 2017-11-07 15:59  星哥曾经来过  阅读(961)  评论(0编辑  收藏  举报