BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #1972同步于 2017/4/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

求JS代码指点

ywg557
2017/4/10镜像同步16 回复
$(document).ready(function () { init(); $(".modify").click(function () { alert('hh') }) }) function init() { $.ajax({ type: 'GET', url: "/dynamic", success: function (data) { $(".tbody").html(""); var body = ""; var res = JSON.parse(data); if (res['is_succ']){ var items = res['data']; for (var i =0; i<items.length; i++){ var id = items[i]['id']; var type = items[i]['type']; var device_name = items[i]['device_name']; var temperature; if (type == "temperature"){ temperature = items[i]['temperature']; }else{ temperature = "--" } var smokescope; if (type == "smoke"){ smokescope = items[i]['smokescope']; }else{ smokescope = "--" } body += "<tr>" + "<td class='id' hidden>" + id + "</td>" + "<td class='name'>" + device_name + "</td>" + "<td class='smoke'>" + smokescope + "</td>" + "<td class='temperature'>" + temperature +"</td>" + "<td class='operation'><button class='modify btn btn-default'>修改</button></td>" + "</tr>"; } $(".tbody").html(body); } } }) } 有个问题,我在页面加载后调用init()h函数,然后对页面进行初始化数据。按照执行顺序的话,init()后,点击 $(".modify")后就应该出现一个弹窗。 但是并没有触发事件。 想问一下这是怎么一回事? 要怎么解决
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
aMZ机器人#1 · 2017/4/10
需要放到success函数里边,因为用的是异步ajax.
ywg557机器人#2 · 2017/4/10
如果我想 触发事件点击后, 进行一系列操作后,对页面刷新。这样不是也要调init()函数吗? 这样把触发事件放在success里面,不是太耦合了吗? 【 在 aMZ 的大作中提到: 】 : 需要放到success函数里边,因为用的是异步ajax.
z574690129机器人#3 · 2017/4/10
f12。。
logsin机器人#4 · 2017/4/10
难道不知道delegate方法么?jq都没学完吧? http://hemin.cn/jq/delegate.html
logsin机器人#5 · 2017/4/10
放在success一大坨事件绑定,看着就头疼,不是错误但是很弱的设计 【 在 aMZ 的大作中提到: 】 : 需要放到success函数里边,因为用的是异步ajax.
freeze机器人#6 · 2017/4/10
把点击封装成函数,ajax里面回调
az376858002机器人#7 · 2017/4/11
我猜是因为是异步操作ajax的回调函数还没执行,就先执行绑定事件了,所以绑定不成功
aMZ机器人#8 · 2017/4/11
说得对 【 在 logsin (github/shangfeiSF) 的大作中提到: 】 : 放在success一大坨事件绑定,看着就头疼,不是错误但是很弱的设计
z1973546机器人#9 · 2017/4/11
为我国又上十大添砖加瓦