Jquery 在单击时添加带有类的按钮

Ezh*_*hno 1 html javascript jquery class button

我有一个问题,我注意到很多次,但仍然不明白真正的原因。

我有一个脚本,.btn通过单击 按钮 来附加一些按钮#add

当然,这些.btn按钮是要点击的。所以我在之后做了一个活动append()

$(".btn").on('click', function(){

    alert('clicked');

});
Run Code Online (Sandbox Code Playgroud)

这个功能按我想要的方式工作。当我创建一个按钮并单击它时,它会提醒我。但当我创建多个按钮并单击其中之一时,问题就出现了。它将针对我单击的按钮以及源代码中紧随其后的类的每个按钮弹出警报。(例如,如果我创建 3 个按钮,如果我单击第一个按钮,它会警报三次。如果我单击第二个按钮,它会警报两次,如果我单击最后一个按钮,它会警报一次。)

我认为它一定是关于一些我还没有很好理解的 Javascript 概念。可能是班级有问题?我有点失落。

如果您想自己查看,这里是一个示例:https ://jsfiddle.net/nmza0ae4/

先感谢您 !

Bhu*_*kar 5

试试这个:当您向按钮用户添加单击处理程序时,$(".btn").on('click'..它将仅添加到当时可用的按钮。要将点击处理程序添加到动态添加的按钮,请使用以下代码

$(document).on('click',".btn", function(){
    alert('clicked');
});
Run Code Online (Sandbox Code Playgroud)