ai didi

javascript - 创建元素并将事件设置为类时,JQuery 会重复事件

转载 作者:行者123 更新时间:2023-11-27 23:14:35 24 4
gpt4 key购买 nike

当我使用单击事件添加项目并存在具有相同类的另一个元素时,该事件会重复。

$(".add-first").on("click", function() {
var firstContainer='<div class="second-container"><button class="add-second">add second</button></div>';
$(this).closest(".first-container").append(firstContainer);
$(".add-second").on("click", function() {
$(this).closest(".second-container").append("<br>example");
});
});
$(".add-second").on("click", function() {
$(this).closest(".second-container").append("<br>example");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="first-container">
<button class="add-first">add first</button>
<div class="second-container"><button class="add-second">add second</button></div>
</div>

然后,当我在添加第一个中按一次单击时,每个按钮中的重复事件添加第二个,然后当我在第二个按钮上单击时,它会发生一些事件,问题是重复的事件。

最佳答案

尝试实现event-delegation而不是每次创建新按钮时都绑定(bind)事件事件,

$(".add-first").on("click", function() {
var firstContainer = '<div class="second-container"><button class="add-second">add second</button></div>';
$(this).closest(".first-container").append(firstContainer);
});

$(".first-container").on("click", ".add-second", function() {
$(this).closest(".second-container").append("<br>example");
});

DEMO

关于javascript - 创建元素并将事件设置为类时,JQuery 会重复事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35926431/

24 4 0
文章推荐: javascript - 如何在 cdata 中正确使用方括号
文章推荐: css - 如何在LinearGradient上添加边框和主体模糊效果?
文章推荐: c++ - 翻转 glReadPixels 的 RGBA 输出(C++ OpenGL)
文章推荐: javascript - 如何在 JavaScript 中验证输入为数字
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com