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 相关文章推荐
模仿jQuery each函数的链式调用
Jul 22 Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 Javascript
Extjs grid添加一个图片状态或者按钮的方法
Apr 03 Javascript
学习javascript面向对象 理解javascript对象
Jan 04 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
Aug 20 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
Mar 21 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 Javascript
JS数据类型分类及常用判断方法
Nov 19 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
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 #Javascript
You might like
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
JavaScript中click和onclick本质区别与用法分析
2018/06/07 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
python实现从ftp服务器下载文件
2020/03/03 Python
简单了解Django项目应用创建过程
2020/07/06 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
市场营销求职信范文
2014/02/21 职场文书
实习生个人总结范文
2015/02/28 职场文书
实施意见格式范本
2015/06/05 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android