jQuery中动态生成数据使用on绑定无效的问题;
来源:互联网 发布:淘宝怎么提前收款 编辑:程序博客网 时间:2024/06/06 18:59
在工作当中,遇到数据需要动态生成绑定,然而遇到一个很怪异的现象;
例:有两个tab页,默认显示第一个tab1页,我需要动态生成的数据在第一个tab1页中,当我点击到了第二个tab2页,并且做了一些交互操作以后,切换到第一个tab1页,再去点击动态生成的数据按钮的时候无效,我用console都打印不出来东西;
我用F12打开控制台,在tab2页中,做交互操作的时候发现,Elements中我需要在tab1中操作的元素动态的发生了变化,我每操作一次,tab1页中动态生成的数据就重新渲染了一遍,那么就可以理解为什么我直接绑定动态生成的数据的class类名的时候无效了,因为我绑定的早已经不是初始化页面的元素了,在我操作tab2页面的时候tab1页面的数据已经动态渲染N遍了,所以解决的办法就是作用在动态元素的静态父元素上面进行事件委托;废话不多说,简单写了一个小demo,希望对同样遇到困惑的童鞋有所帮助~
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script></head><body><div class="parentClass"> <div class="children">on动态生成数据</div> <div class="children">on动态生成数据</div> <div class="children">on动态生成数据</div></div><script> //不推荐,动态绑定的时候绑定事件不生效; $(function(){ $('.children').on('click', function(){ console.log($(this).index()); }) }) //推荐,事件委托绑定在静态元素的父元素上面 class="parentClass" $(function(){ $('.parentClass').on('click', '.children', function(){ console.log($(this).index()); }) })</script></body></html>
阅读全文
0 0
- jQuery中动态生成数据使用on绑定无效的问题;
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jQuery-动态生成的元素绑定无效
- jQuery使用on()方法给动态生成元素绑定事件
- JQuery绑定动态生成的HTML问题
- angularJs中ng-repeat遍历动态生成的表单元素绑定ng-model无效的问题
- 使用jquery on()方法为动态生成的元素绑定事件
- jQuery on和off配合使用为动态生成的元素绑定监听事件
- jquery on 绑定所有元素(包括动态生成的)
- jQuery on()方法给动态生成的元素绑定方法
- jquery on方法 绑定动态元素 出现的问题
- [JavaScript] jquery on方法 绑定动态元素 出现的问题
- jquery 动态添加的元素绑定事件使用on
- 关于jquery 的绑定事件on 如何绑定动态生成的dom元素
- jquery on()绑定事件无效
- Jquery,1.7+后的版本使用.on()绑定事件,动态绑定事件,绑定未来事件
- ocx修改ID和名字
- ajax 设置Access-Control-Allow-Origin实现跨域访问
- 这里的人都想着做李白,却卷入现金贷漩涡不能自拔
- 自定义控件那些事儿 ----- 七【绘制Bitmap】
- linux load average
- jQuery中动态生成数据使用on绑定无效的问题;
- Spring-mvc自定义拦截器实现
- 中国国家防火墙
- Python爬取竞彩网每场比赛的开奖结果中的详细信息
- spoken language processing 总结概要
- leetcode 398. Random Pick Index 均概率挑选index
- easyui动态编辑,并改变单元格值
- 贴一个使用串口的方法
- UIWindow