JQuery嵌套的onclick函数运行两次

2hh7jdfx  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(188)

我使用了JQuery的document.ready函数,其中包含onlick函数,当单击id=“btn1”的按钮在图像前添加文本时,会触发该函数。
类似的onclick按钮“btn2”功能是在图像后添加文本。

我面临的问题是,当我第一次运行它时,一切都工作正常,但当我第二次单击“插入之前”按钮,然后单击“插入之后”时,之后的文本输出了2次。

第一个

4c8rllxm

4c8rllxm1#

我不会建议您在另一个单击事件中包含一个单击事件。
你需要做的是:

$(document).ready(function() {
  $("#btn1").click(function() {
    $("#check").before("<b>Before</b><button class='btn2'>Insert after</button>");
  });

  $(document).on("click", ".btn2", function() {
    $("#check").after("<i>After</i>");
  });
});

当一个单击事件位于另一个单击事件中时,会发生以下情况:
假设我们有ClickEvent1ClickEvent2
ClickEvent2位于ClickEvent1内部。
ClickEvent1被触发时,它会将ClickEvent2绑定到选择器。
如果你再次触发ClickEvent1,那么你将再次绑定ClickEvent2。这意味着如果你触发ClickEvent2,它将运行代码2次。

演示版

第一个

相关问题