jquery动态添加元素无法触发绑定的事件的解决方案

方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持)。

//jquery 1.9(不包括1.9)以下可以
$(".btn").live("click",function(){
    alert(‘这里是动态元素添加的事件‘);
})

方法二:利用on()事件绑定 ($(ParentEle).on("click",".thisEle",function(){})

$("body").on("click", ".btn", function() {
    alert(‘这里是动态元素添加的事件‘);
});

原文地址:https://www.cnblogs.com/sntetwt/p/10007520.html

时间: 2024-09-28 01:18:32

jquery动态添加元素无法触发绑定的事件的解决方案的相关文章

jQuery动态添加元素无法触发绑定事件

用jquery动态添加元素后,发现给动态添加的元素无法触发事件.解决方案如下: 方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持). 1 2 3 $(".newBtn").live("click",function(){ ///jquery 1.9(不包括1.9)以下可以                alert('这里是动态元素添加的事件');            }) 方法二:利用on()事件绑定 ($(ParentEle)

jquery动态添加的元素绑定的事件不生效的问题

我们可以通过 $(document).on('click', '#xxx', callback) 这种形式解决. 原因,一般情况下,我们是通过 $('#xxx').click(callback) 这种形式去绑定,这种绑定之所以生效是因为,我们程序加载 $(function(){}) 的时候绑定了回调,而动态添加上去的,我们并没有去绑定. 所以动态添加的元素,点击的时候并不会触发我们想要的效果.但是实际上,在我们点击的时候,还是产生了点击事件,只是这个事件没有被我们的预期回调处理,因为我们的回调没

jQuery动态添加的元素绑定事件处理函数代码

jQuery动态添加的元素绑定事件处理函数代码 作者: 字体:[增加 减小] 类型:转载 有一段时间没用jquery了,今天又碰到这个问题.当时是知道有livejquery可以解决.但是我并不喜欢为了这个而另外加载一个. 我当时的处理方法是在添加的时候手工绑定事件处理函数.不过新版的jquery已经添加了这个功能.我们已经不需要为此烦恼了. 参考:http://api.jquery.com/live/ 以前我们定义事件,比如为元素定义单击事件是这样写的: 复制代码 代码如下: $('input'

【javascript】JQuery动态添加元素

JQuery动态添加元素方法 append() 在父级最后追加一个子元素  appendTo() 在父级最后追加一个子元素  prepend() 在父级最前面追加一个子元素  prependTo() 在父级最前面追加一个子元素   after() 在当前元素之后追加(是同级关系)  before() 在当前元素之前追加(是同级关系)  insertAfter() 将元素追加到指定对象的后面(是同级关系 insertBefore() 将元素追加到指定对象的前面(是同级关系)    appendCh

动态生成DOM元素绑定click事件无效问题

在页面里,jq动态生成dom节点,该节点的click事件无效. 如,html里动态添加class名为.del的<a>, js文件中: $('.del').bind('click',fuction(){ alert('sda'); }) 不响应, 网上说可以用live代替bind事件,但在jq1.7版本开始,就取消了live事件, 解决方法: on()事件 代码改为: $(document).on('click','.del',fuction(){ alert('sda'); }) 这样就搞定了

jquery动态生成html代码绑定事件

今天工作中需要在页面动态生成html代码,但发现新生成的代码的click事件失效了(非动态生成的代码已经绑定了click事件),于是在网上找了很多解决办法,很多都比较复杂,且使用的jquery都比较老,于是结合网上加上自己的测试,找到了一种解决方法. 我使用的jquery是1.9.11,jquery1.7之后就将live方法废弃了,新增了on和off方法,我的解决办法就是使用on方法,首先看代码: <div class="h3"> <h3>李健1</h3&

毕业设计---jQuery动态生成的a标签的事件绑定

这几天在毕业设计的前端设计阶段,准备放弃使用jsp,完全通过html+ajax+SSH进行网站的编写,在前端的页面显示我准备使用jQuery来实现数据的动态绑定.但是遇到动态添加的a标签无法直接通过$(element).click();来添加点击事件,通过网上的查询,在动态添加的标签绑定事件需要通过事件委托而非事件绑定. $("body").on("click", ".delete", function (){ del($(this).paren

jQuery 判断元素上是否绑定了事件

我研究了一下之后发现,jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文. jQuery会在window.unload的时候卸载所有绑定过的事件,释放内存的. OK,言归正传.判断元素上是否绑定过事件用如下语句 jQuery.data(elem,"events")[type] //老版本也能用 $(elem).data("events")[type] //1.2.3以后才能

jquery使用on给input绑定focus事件和alert组合后无限弹出

我们知道,jQuery中的on方法是可以无限触发的,当给input绑定了focus事件的时候,如果在focus事件中使用了alert弹出框的话,很容易就会造成死循环(无限弹出框)的现象. 原因是因为,jQuery的on绑定的这个focus事件是组合了onfocus(获取焦点)和onblur(失去焦点)两个JavaScript事件的,当alert弹出之后如果去点击弹出框的确认按钮就会触发onblur事件,可是在弹出框关闭之后焦点又回到了input输入框中,又触发onfocus事件,陷入了一个无限弹