jQuery on()方法绑定动态元素的点击事件实例代码浅析


Posted in Javascript onJune 16, 2016

之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态生成的标签点击了没反应,而live方法却能够支持,于是乎到处查资料,问网友,结果找了好久在一篇文章中终于找到了答案。。。

jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。大家看看源码就知道了。生成的按钮基数项on方法点击无效live方法有效。

比如页面上有下边两个元素:

<input type="button" name="addbtn" value="按钮添加" />
<div id="test">
</div>

使用下边的jQuery代码大家可以对比看看区别:

$(function () {
var a = 1,
$_div = $('#test');
$('input[name=addbtn]').on('click', function () {
$_div.append('<input type="button" name="test' + a + '" value="按钮' + a + '"/>');
a++;
});
//偶数项点击事件
$_div.on('click', 'input[name^=test]:even', function () { 
alert('我是有效的on方法,你能看见我吗:' + this.value);
});
//奇数项绑定的点击事件 发现点击无效,而是用live方法却能够支持
$('input[name^=test]:odd').on('click', function () { 
alert('我是无效的on方法,你不能看见我');
});
//奇数项绑定的点击事件 发现点击无效,而是用live方法却能够支持
$('input[name^=test]:odd').live('click', function () {
alert('我是live方法,你能看见我吗:' + this.value);
});
});

以上所述是小编给大家介绍的jQuery on()方法绑定动态元素的点击事件的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
Oct 26 Javascript
bootstrap fileinput完整实例分享
Nov 08 Javascript
JS实现改变HTML上文字颜色和内容的方法
Dec 30 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
Aug 23 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
JavaScript canvas动画实现时钟效果
Feb 10 Javascript
js轮播图之旋转木马效果
Oct 13 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 #Javascript
JSON字符串和对象相互转换实例分析
Jun 16 #Javascript
jQuery的层级查找方式分析
Jun 16 #Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 #Javascript
JS中sort函数排序用法实例分析
Jun 16 #Javascript
JS原型对象的创建方法详解
Jun 16 #Javascript
JS使用单链表统计英语单词出现次数
Jun 16 #Javascript
You might like
php简单实现多维数组排序的方法
2016/09/30 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Django日志模块logging的配置详解
2017/02/14 Python
python实现员工管理系统
2018/01/11 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
详解Django admin高级用法
2019/11/06 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
毕业设计致谢语
2015/05/14 职场文书
导游词之峨眉山
2019/12/16 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
Python 阶乘详解
2021/10/05 Python