jquery 使用 AJAX load()从第二个文件加载内容,但无法从第三个文件加载第二个文件

dphi5xsq  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(97)

下面是我使用的两个文件。
我点击“div2”,如我所料,它将“divA”加载到“div1”中。但在那之后,我尝试点击“divA”,这应该加载“divB”,但它不做任何事情
index.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("#div2").click(function(){
    $("#div1").load("load.php #divA");
  });
  $("#divA").click(function(){
    $("#divA").load("load.php #divB");
  });
});
</script>
<div id='div1'>
    <div id='div2'>click</div>
</div>

字符串
load.php

<div id='divA'>
    Click again
</div>

<div id='divB'>
    You clicked twice!
</div>

hgqdbh6s

hgqdbh6s1#

AJAX 是异步的,当您尝试向其添加单击处理程序时,新的div尚未添加。在.load()的回调函数中执行。

$(document).ready(function() {
  $("#div2").click(function() {
    $("#div1").load("load.php #divA", function() {
      $("#divA").click(function() {
        $("#divA").load("load.php #divB");
      });
    });
  });
});

字符串
或者使用事件委托,如Event binding on dynamically created elements?中所述

相关问题