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 相关文章推荐
js 效率组装字符串 StringBuffer
Dec 23 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
require.js深入了解 require.js特性介绍
Sep 04 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
Jun 15 Javascript
javascript实现连续赋值
Aug 10 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Feb 15 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
vue项目中使用eslint+prettier规范与检查代码的方法
Jan 16 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
Jul 26 Javascript
javascript之Object.assign()的痛点分析
Mar 03 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
使用PHP批量生成随机用户名
2008/07/10 PHP
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
python2.7的编码问题与解决方法
2016/10/04 Python
python+opencv识别图片中的圆形
2020/03/25 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
对python3新增的byte类型详解
2018/12/04 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
详解pandas映射与数据转换
2021/01/22 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
报关简历自我评价怎么写
2013/09/19 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
关于廉洁的广播稿
2014/01/30 职场文书
职业女性的职业规划
2014/03/04 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
老兵退伍标语
2014/10/07 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
丽江古城导游词
2015/02/03 职场文书
端午节寄语2015
2015/03/23 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang