首页 > 解决方案 > Ajax JQuery html不使用功能

问题描述

我提出 Ajax 请求。成功 evet 函数是一个 div html 的机会。Ajax 成功但 runFunction 函数不运行。

$("#dashboard").html("<img src='xxxxxx' class='runFunction'>");

HTML 代码:

<div id="dashboard">
  <div class="Loader"><div class="ball-pulse"><div></div><div></div><div></div></div></div>
</div>

AJAX 代码:

function getGuilds() {
  $.ajax({
    type: "POST",
    url: "includes/ajax/getGuilds.php",
    dataType: "json",
    success: function(respo) {
      if (respo.type == "success") {
        $("#dashboard").html("<img src='xxxxxx' class='runFunction'>");
      } else {
        getGuilds();
      }
    }
  })
}
getGuilds();

我的功能:

$(".runFunction").click(function(){
  alert(1);
});

标签: javascriptjqueryajax

解决方案


你需要把你的听众改成这样:

Javascript:

$(document).on("click", ".runFunction", function(){
   alert(1);
});

问题是,在您运行该函数.runFunction时,ajax 尚未完成,或者您尚未使用类创建元素 img.runFunction并且不存在,但是当您使用document它更改函数时,即使您在之后创建元素,它也可以工作。

问候!


推荐阅读