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 相关文章推荐
JavaScript中合并数组的N种方法
Sep 16 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
微信小程序 css使用技巧总结
Jan 09 Javascript
Bootstrap进度条学习使用
Feb 09 Javascript
JS实现页面打印功能
Mar 16 Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
LayUI动态设置checkbox不显示的解决方法
Sep 02 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
详解JavaScript树结构
2017/01/09 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Vue程序调试的方法
2019/06/17 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
基于python实现坦克大战游戏
2020/10/27 Python
python 实现客户端与服务端的通信
2020/12/23 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
公司会计岗位职责
2014/02/13 职场文书
法制报告会主持词
2014/04/02 职场文书
公司离职证明样本
2014/09/13 职场文书
学籍证明模板
2014/11/21 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
MYSQL 运算符总结
2021/11/11 MySQL