Jquery使用on方法绑定动态添加的元素

版权声明:如有侵权,请联系[email protected]。 https://blog.csdn.net/cs373616511/article/details/80576751

on()方法

语法:$(selector).on(event,childSelector,data,function,map)

继jQuery1.7之后,on()方法替代了bind(), live() 和 delegate() 方法。on()方法可以给当前元素和未来元素绑定事件。

childSelector项是可选的,如果没有childSelector项的话,只能给被选元素(已存在的元素)绑定事件,不能给未来元素

(后续动态生成的元素)绑定事件;

效果图:

点击添加html然后点击div弹出alert,说明方法正确执行


源码:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>demo</title>
		<script type="text/javascript" src="js/jquery-1.10.2/jquery.min.js"></script>
	</head>

	<body>
		<button id="btn">添加html</button>
		<div style="width: 100px;height: 100px;background-color: yellow;" id="div"></div>
		<script type="text/javascript">
			$(function() {
				//正确的方式
				$("#div").on("click", ".demo", function() {
					alert("ok");
				});
				//错误的方式
				/*$("#div .demo").on("click", function() {
					alert("ok");
				});*/
				$("#btn").click(function() {
					var html = '<div class="demo" style="width: 100px;height: 100px;background-color: greenyellow;" ></div>';
					$("#div").html(html);
				});
			});
		</script>
	</body>

</html>

猜你喜欢

转载自blog.csdn.net/cs373616511/article/details/80576751