代码之家  ›  专栏  ›  技术社区  ›  Paddy Hallihan

触发一个函数,该函数需要找到通过Ajax加载到页面中的元素

  •  -1
  • Paddy Hallihan  · 技术社区  · 6 年前

    我有一个页面,人们可以在其中编辑我网站上的项目。

    当他们单击一个项目时,要编辑的表单将通过Ajax加载到页面上的一个DIV中,表单字段已经填充,这取决于他们选择编辑的项目。

    作为编辑表单的一部分,我有一个“wysiwyg”编辑器,我需要用一个函数来启用它,但只有当内容已加载或我收到一个错误,它找不到元素时。

    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if(this.readyState == 4 && this.status == 200){
            $("#myDiv").html(this.responseText);
            // myFunction();
        }
    };
    xmlhttp.open("POST", "myPage.php", true);
    xmlhttp.send();
    

    内容完全加载后,如何启动函数。如有任何帮助或帮助,我们将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Zakaria Acharki    6 年前

    内容完全加载后如何启动函数 ?

    这个 .html() 方法是同步的,因此没有回调,任何代码 在加载HTML之后执行。但是你可以用 .promise().done() 等待。

    因为您使用的是jquery,所以您的代码可以简化为:

    $.post('myPage.php', function(response){
        $("#myDiv").html(response).promise().done(function(){
            //myFunction();
        });
    });