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的数组的扩展实例代码
Jul 09 Javascript
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
Jun 01 Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
Aug 05 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
微信小程序公用参数与公用方法用法示例
Jan 09 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
Jan 07 Javascript
vue在响应头response中获取自定义headers操作
Jul 24 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 session会话的安全性分析
2011/09/08 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
php实现每日签到功能
2018/11/29 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python中的编码知识整理汇总
2016/01/26 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
Python元字符的用法实例解析
2018/01/17 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
Python的缺点和劣势分析
2019/11/19 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
python实现一个猜拳游戏
2020/04/05 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
大学毕业生自荐书怎么写?
2014/01/06 职场文书
教学器材管理制度
2014/01/26 职场文书
产品销售计划书
2014/05/04 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android