jQuery页面元素动态添加后绑定事件丢失方法,非 live


Posted in Javascript onJune 16, 2016

代码1: 以此方法绑定的input框事件,在通过add按钮后用jquery绑定的事件 alert就会丢失

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input"/></div>
<script>
$('input[name=test_input]').change(function(){
alert($(this).val()) ;
});
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script>

代码2: 以jquery的live方法绑定change事件,alert不会丢失,但是在点击add时有可能多次添加input,或者多次弹出提醒框,刷新页面后就好了,但是多次操作后还是会这样

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input" onchange="alert_val(this)"/></div>
<script>
$('input[name=test_input]').live('change',function(){
alert($(this).val()) ;
});
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script>

代码3: 解决之道....

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input" onchange="alert_val(this)"/></div>
<script>
function alert_val(obj){
alert($(obj).val());
}
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script>

通过js原生态的onchange事件,把对象本身传递进去,这样既可以用到jquery语法继续写东西,也不会丢失绑定事件,更加不会因为live的特性导致事件多次执行....完美!

Javascript 相关文章推荐
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 Javascript
js手机号批量滚动抽奖实现代码
Apr 17 Javascript
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
详解小程序缓存插件(mrc)
Aug 17 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
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
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 #Javascript
You might like
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
JS实现判断移动端PC端功能
2020/02/21 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python+django实现文件下载
2016/01/17 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python探索之自定义实现线程池
2017/10/27 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
汽车销售求职自荐信
2013/10/01 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
家电业务员岗位职责
2014/03/10 职场文书
教师产假请假条
2014/04/10 职场文书
连带责任保证书
2014/04/29 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
绿里奇迹观后感
2015/06/15 职场文书
高中化学教学反思
2016/02/22 职场文书