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 页面输出值
Nov 30 Javascript
Javascript 兼容firefox的一些问题
May 21 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
Apr 27 Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
使用jQuery仿苹果官网焦点图特效
Dec 23 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
Aug 17 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 Javascript
JS实现网站吸顶条
Jan 08 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
Feb 19 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 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
js跳转页面方法实现汇总
2014/02/11 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
JS如何生成动态列表
2020/09/22 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python中处理unchecked未捕获异常实例
2015/01/17 Python
详解Python字符串对象的实现
2015/12/24 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
如何用Python合并lmdb文件
2018/07/02 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
党委书记岗位职责
2013/11/24 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
大学军训的体会
2014/11/08 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
环卫工人慰问信
2015/02/15 职场文书
个人年度总结报告
2015/03/09 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
iPhone13再次曝光
2021/04/15 数码科技
python opencv通过按键采集图片源码
2021/05/20 Python
Python集合的基础操作
2021/11/01 Python
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL