jQuery 解决 动态创建的元素添加不了事件 问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cofecode/article/details/87997005

如下面的例子,使用add方法创建的button标签是添加不了click事件的

<html>
<head>
</head>
<body>
<p class="pWrap">这是一个段落。
	<button class="btn">按钮</button>
</p>

<button onclick="add()">add</button>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

  $(".btn").on("click", function(){
    alert(1)
  });


function add() {
	$('.pWrap').append('<button class="btn">按钮</button>')
}
</script>
</html>

解决办法,给父级添加事件 on传第二个参数,也即该元素的选择器

<html>
<head>
</head>
<body>
<p class="pWrap">这是一个段落。
	<button class="btn">按钮</button>
</p>

<button onclick="add()">add</button>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

  $(".pWrap").on("click", '.btn',function(){
    alert(1)
  });


function add() {
	$('.pWrap').append('<button class="btn">按钮</button>')
}
</script>
</html>

猜你喜欢

转载自blog.csdn.net/cofecode/article/details/87997005
今日推荐