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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
JS版网站风格切换实例代码
Oct 06 Javascript
JS之小练习代码
Oct 12 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
Mar 15 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
jQuery解决浏览器兼容性问题案例分析
Apr 15 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 Javascript
详解在AngularJS的controller外部直接获取$scope
Jun 02 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
vue实现配置全局访问路径头(axios)
Nov 01 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 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开发入门教程之面向对象
2006/12/05 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
pandas 选择某几列的方法
2018/07/03 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
pycharm永久激活超详细教程
2020/10/29 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
德购商城:德国进口直邮商城
2017/06/13 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
三分钟演讲稿事例
2014/03/03 职场文书
文体活动总结范文
2014/05/05 职场文书
节能减耗标语
2014/06/21 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
发布会邀请函
2015/01/31 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电