之前在写商城项目时候遇到一个坑,原本页面没有的标签,通过事件添加标签后无法进行事件触发。
写一个简单例子方便理解
<button class="capy">生成按钮</button>
<div class="div"></div>
比如点击生成按钮时添加一个button,然后点击这个button进行alert(1)
下面是错误写法!!
$(".btn").click(function(){
alert(1)
})
$(".capy").click(function(){
$(".div").append("<button class='btn'>弹框</button>")
})
正确做法
利用事件冒泡找到一直存在的父级或者祖级进行事件绑定。
$(".capy").click(function(){
$(".div").append("<button class='btn'>弹框</button>")
})
$(".div").on("click",".btn",function(){
alert(1)
})