JQuery给动态生成的DOM元素绑定点击事件
2016-08-31 11:22
726 查看
最近做项目的时候,使用ajax调用后台数据来动态生成页面内容。然后在给那些内容绑定一个点击事件的时候,发现点击竟然无效了。原因是:ajax有个请求时间,无论是同步还是异步,JQuery进行的绑定都会在页面加载完后立刻进行,而不是等待ajax请求完。也就是说,绑定的元素绑空了。那这个问题怎么解决呢。方法如下:
在动态生成的时候绑定一个函数,并把对象传进去,如:
strhtml = strhtml + "<td>" + "<button class='btn btn-primary' onclick='editPosition($(this));' data-toggle='modal' data-target='#PlaceModal'>"
+ "<i class='fa fa-edit'></i>编辑" + "</button>" + "</td>";
然后,js里声明那个函数,并接收this对象,如:
function editPosition(obj){
$("#Posi-actionFlag").val("update");
$("#Posi-id").val(obj.parent().parent().children("td").eq(0).html());
$("#Posi-frequence").val(obj.parent().parent().children("td").eq(2).html());
$("#Posi-frequence2").val("0");
$("#Posi-name").val(obj.parent().parent().children("td").eq(1).html());
var del = obj.parent().parent().children("td").eq(3).html();
if(del == "0"){
$("#Posi-isdelete").bootstrapSwitch("state", true);
}else{
$("#Posi-isdelete").bootstrapSwitch("state", false);
}
}
这样就可以啦,问题解决
在动态生成的时候绑定一个函数,并把对象传进去,如:
strhtml = strhtml + "<td>" + "<button class='btn btn-primary' onclick='editPosition($(this));' data-toggle='modal' data-target='#PlaceModal'>"
+ "<i class='fa fa-edit'></i>编辑" + "</button>" + "</td>";
然后,js里声明那个函数,并接收this对象,如:
function editPosition(obj){
$("#Posi-actionFlag").val("update");
$("#Posi-id").val(obj.parent().parent().children("td").eq(0).html());
$("#Posi-frequence").val(obj.parent().parent().children("td").eq(2).html());
$("#Posi-frequence2").val("0");
$("#Posi-name").val(obj.parent().parent().children("td").eq(1).html());
var del = obj.parent().parent().children("td").eq(3).html();
if(del == "0"){
$("#Posi-isdelete").bootstrapSwitch("state", true);
}else{
$("#Posi-isdelete").bootstrapSwitch("state", false);
}
}
这样就可以啦,问题解决
相关文章推荐
- 关于jquery 的绑定事件on 如何绑定动态生成的dom元素
- jQuery 新版本的 Dom 元素动态绑定事件
- JQuery中动态生成元素的绑定事件(坑死宝宝了)
- 工作积累(六)——jQuery实现DOM元素事件动态绑定
- jquery动态生成的元素绑定事件
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jquery 为动态生成元素绑定事件
- jquery给动态添加的dom元素绑定事件
- jQuery使用on()方法给动态生成元素绑定事件
- jQuery:如何给动态生成的元素绑定事件?
- jquery 动态生成的元素的事件无法绑定
- Jquery对动态生成的元素绑定事件
- jquery无法为动态生成的元素添加点击事件的解决方法
- Apple 移动设备绑定动态生成元素点击事件$(document).on('click',element,callback)失效解决方法
- [jquery] 给动态生成的元素绑定事件 on方法
- 动态生成DOM元素绑定click事件无效问题
- Jquery对动态生成的元素绑定事件
- jquery 1.9后如何对动态生成的元素绑定事件
- jQuery:如何给动态生成的元素绑定事件?
- jQuery:如何给动态生成的元素绑定事件?