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 相关文章推荐
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
理解js回收机制通俗易懂版
Feb 29 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
Aug 04 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
Nov 24 Javascript
vue获取input输入值的问题解决办法
Oct 17 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
Dec 29 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
vuex实现及简略解析(小结)
Mar 01 Javascript
24个解决实际问题的ES6代码片段(小结)
Feb 02 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
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
一个php作的文本留言本的例子(一)
2006/10/09 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
python 实现性别识别
2020/11/21 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
财务助理岗位职责
2013/11/10 职场文书
英语教师岗位职责
2014/03/16 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书