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给动态dom绑定事件

如果需要给一个按钮绑定事件,通过jquery中一般是这样实现的。$("#id").click(function(){ console.log("hello world!"); });    ...

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

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

动态生成的html元素绑定click事件

第一篇博客,开启技术博客的生涯,欢迎大家批评指教(坚信妹子也可以做好程序猿) 今天想说帮公司做项目的时候遇到的一个小问题,动态添加html元素以后再去事件监听出问题。在实际开发中会遇到要给动态生成的...

jQuery给动态生成的元素添加事件

有时需要向页面内动态添加元素,其中可能还需要给这些追加的元素绑定事件,这时候采用jquery是很方便的。 1、采用live()方法(该方法与1.4版本后废弃): live()方法可以给所有元素附加...

bootstrap-table的一些配置参数例子

bootstrap-table的一些配置参数

BootStrapTable参数方法

表格参数 名称 标签 类型 默认 描述 - data-toggle String 'table' 不用写 JavaScript 直接启用表格。 class...

jQuery-为动态添加的元素绑定事件

在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件。像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是...

用jQuery绑定事件到动态创建的元素上

jQuery最常用的一个功能就是对DOM的操作,与之相关的比如对事件的绑定和Ajax动态内容加载。当我们绑定事件到Ajax load回来的内容上或其他动态创建的元素上时会发现事件没响应,和你预想的结果...

jquery为动态生成的元素生成click事件

感谢: https://zhidao.baidu.com/question/1604659998200577667.html元素是通过某个事件触发append进去的, 需要将检测动态增加的这个元素...

jQuery.on() 函数详解--解决动态加载的标签无法绑定点击事件

on()函数用于为指定元素的一个或多个事件绑定事件处理函数。 此外,你还可以额外传递给事件处理函数一些所需的数据。 从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JQuery给动态生成的DOM元素绑定点击事件
举报原因:
原因补充:

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