使用jQuery动态绑定事件

本文探讨了在使用JavaScript动态生成的元素上绑定事件的问题,并详细介绍了如何利用jQuery的on()方法来有效解决这一难题,通过实例展示了正确绑定动态元素事件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求

在实际项目的时候,遇到了一个问题,就是通过JS动态生成的元素,无法触发JS事件,JS代码在处理随着页面加载而加载的DOM元素是没有问题的。但是在处理页面加载完成后,通过动态添加的方式添加上的元素是无效的,需要另外利用Jquery绑定。

二、jQuery的on()方法

  • jQuery的on()方法是支持在动态添加的元素上绑定事件的
  • 动态绑定需要绑定需要绑定事件的父元素
  • 具体格式如下:

$(需绑定事件的父元素).on(“click”,“需要绑定事件的元素”,function(){
执行操作
});

三、具体实例

	$(function () {
	var a = 1,
	$_div = $('#test');
	$('input[name=addbtn]').on('click', function () {
	$_div.append('<input type="button" name="test' + a + '" value="按钮' + a + '"/>');
	a++;
	});
	//偶数项点击事件
	$_div.on('click', 'input[name^=test]:even', function () { 
	alert('我是有效的on方法,你能看见我吗:' + this.value);
	});
	//奇数项绑定的点击事件 发现点击无效,而是用live方法却能够支持
	$('input[name^=test]:odd').on('click', function () { 
	alert('我是无效的on方法,你不能看见我');
	});
	//奇数项绑定的点击事件 发现点击无效,而是用live方法却能够支持
	$('input[name^=test]:odd').live('click', function () {
	alert('我是live方法,你能看见我吗:' + this.value);
	});
	});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值