动态添加的元素,设置监听事件;input:text事件只触发一次

之前上网搜索过,好像高版本的jquery就把bind,live等等这些都抛弃掉了。都要统一使用on来控制监听。

总之,我对动态添加的元素设置监听,发现就on函数好使。代码如下:

			$('.modal-body thead').on('change','select',function(){
				
				$(this).parent().find('th input').prop('checked','checked');
				$(this).parent().find('th input').attr('checked','checked');
			});
其中thead是已经存在的元素,而select元素是在其之下动态产生的子类元素。总之,这两个选择器的设置应该是,第一个是已经存在的父类元素(这里我感觉应该到最低的一级),而第二个应该是未来动态的产生的元素。

这两个参数只要是符合jquery选择器的语法就可以。

而针对于<input type="text">这种元素,按照以上写法只会触发一次事件。正确写法如下:

			$('.modal-body thead').off('change','tr :text').on('change','tr :text',function(){
				$(this).parent().find('th input').attr('checked',true);
				
				$(this).parent().find('th input').attr('openid',$(this).val());
			});
具体原理我也不懂,大概是先解绑,再重新绑定事件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值