JQuery给动态生成的DOM元素绑定点击事件

原创 2016年08月31日 11:22:50

最近做项目的时候,使用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);
    }
}

这样就可以啦,问题解决

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于jquery 的绑定事件on 如何绑定动态生成的dom元素

今天遇到个问题,在table里面动态更新数据,然后每一行会绑定相应的点击事件 我原本是想用 可作用于未来元素的on方法,但是实际上还是没有起作用,代码如下: $(".form-table tb...

JQuery 动态添加DOM元素及事件响应机制的2点注意

需求: 1. 每点击一次 button “+” 在 #task1中增加一个 div 条目包含 {一个 input-text 和 一个button "-"}   2. 点击button '-', 删除b...

Extjs4.1 checkboxgroup动态生成checkbox 还有 checkbox绑定点击事件

我在网上有找到的 checkbox点击事件 URL:http://blog.csdn.net/jiafugui/article/details/7590330 他的有个bug就是点击文字的时候 会...
  • cwisme
  • cwisme
  • 2012-12-23 07:26
  • 4384

jQuery on()方法给动态生成的元素绑定事件----实战分析

打开天窗说亮话—–没那多废话通过行内事件也可以模拟动态绑定的操作但是有点牵强 <meta

jquery 动态生成的元素的事件无法绑定

今天遇到一个问题,由Jquery动态去生成一段html元素后,这些新生成的元素绑定的事件不起作用,后来查阅解决,废话不说,上代码,以下代码目的是点击button按钮,移除span区域。

jQuery on()方法绑定动态元素的点击事件无响应的解决办法

$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count++; } ...

jQuery查看dom元素上绑定的事件列表

作为技术狂热分子的职业本能,看到一个技术产品的功能,总会忍不住想知道它是怎么被实现的。比如我每每看到别人网站一个很炫的界面或者很酷的功能,就忍不住打开了浏览器的控制台。。。 好,不扯远,说说当你...

jquery查找元素,绑定事件,DOM操作

通过元素之间的关系来获取对应的元素 找到元素的父元素 $("#a").parent().css("background","yellow"); 找到祖先元素 $("#a").parents()...

jquery1.9 on()方法替代live()方法,用于给后来进入DOM中的html元素加处理事件。

项目中经常会遇到需要从数据库动态获取数据,用js拼接Html元素来展示数据,此时会发现普通的事件不管用了,这就用到了jquery的$.live()事件,1.7版本以上已经用$.on()代替live()...

Jquery6_控制Dom元素_动态创建节点及删除节点

=====动态创建节点===== http://www.w3.org/1999/xhtml">                  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)