html(通过ajax加载)加载后,如何触发一些javascript?

html(通过ajax加载)加载后,如何触发一些javascript?,javascript,html,ajax,onload,Javascript,Html,Ajax,Onload,我通过ajax加载html,然后将html放入div中。一旦加载了放入div中的html,如何触发javascript 我不知道onload事件是否就是我要寻找的,或者它是否可以用于div元素。请记住,此html将异步放入div中 编辑: html有一个嵌入的youtube视频,因此它必须加载一个图像 加载放入div的html后,如何触发javascript 您只需在将上下文放入div后,在XMLHttpRequest提供的onreadystatechange回调(或您正在使用的任何库提供的“c

我通过ajax加载html,然后将html放入div中。一旦加载了放入div中的html,如何触发javascript

我不知道onload事件是否就是我要寻找的,或者它是否可以用于div元素。请记住,此html将异步放入div中

编辑:

html有一个嵌入的youtube视频,因此它必须加载一个图像

加载放入div的html后,如何触发javascript

您只需在将上下文放入div后,在
XMLHttpRequest
提供的
onreadystatechange
回调(或您正在使用的任何库提供的“completion”回调)中执行此操作

例如:


你的意思是当你把html放在一个div中时,你想知道什么时候加载图像和类似的内容。我想OP已经知道了这一点,因为他可以把结果放在div中。如果XMLHttpRequest响应包含类似字符串的内容呢?它被放入DOM中。即使执行了XMLHttpRequest完成回调,此时也不会加载内容。如果OP正在处理图像,并且需要等待它们完成加载,那么这肯定是一个问题。问题并没有说明这一点。(这可能只是问题的一个失败。)我认为问题在第一点上还可以。OP没有询问如何知道XMLHttpRequest何时响应。@MattiMehtonen:我现在已经解决了图像问题。
var xhr = new XMLHttpRequest(/* ... */);
// ...
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status >= 200 && xhr.status <= 299) {
        /* ...put the content in the div...*/

        /* ...call your function... */
    }
};
xhr.send();
var images = div.querySelectorAll('img'),
    img, i, done = false;

for (i = 0; i < images.length; ++i) {
    img = images[i];
    img.onload = img.onerror = checkDone;
}
checkDone();

function checkDone() {
    var x, completed = 0;

    if (done) {
        return;
    }

    for (x = 0; x < images.length; ++x) {
        if (images[x].complete) {
            ++completed;
        }
    }

    if (completed === images.length) {
        done = true;

        /* ...call your "load" function here... */
    }
}