Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 韩元';在加载的DIV中传递jquery AJAX/jquery调用时无法工作_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 韩元';在加载的DIV中传递jquery AJAX/jquery调用时无法工作

Javascript 韩元';在加载的DIV中传递jquery AJAX/jquery调用时无法工作,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我知道有人问过这个问题,但也有人问过与我的代码如何设置无关的其他问题,我相信这与代码如何工作无关。我一辈子都想不出怎么解决这个问题 我已经设置了两个PHP页面。index.php和getresult.php。使用AJAX对索引进行分页。AJAX调用getresult.php获取数据。我有一个加载youtube视频的脚本(延迟加载JS,而不是典型的嵌入)。我的问题是页面将通过AJAX加载,但我的youtube嵌入的javascript无法工作。它们显示为黑匣子。html、视频标题等都可以通过,但是

我知道有人问过这个问题,但也有人问过与我的代码如何设置无关的其他问题,我相信这与代码如何工作无关。我一辈子都想不出怎么解决这个问题

我已经设置了两个PHP页面。index.php和getresult.php。使用AJAX对索引进行分页。AJAX调用getresult.php获取数据。我有一个加载youtube视频的脚本(延迟加载JS,而不是典型的嵌入)。我的问题是页面将通过AJAX加载,但我的youtube嵌入的javascript无法工作。它们显示为黑匣子。html、视频标题等都可以通过,但是JS现在无法在div上使用。下面是getresult.php(
)上使用的div,其中class=“youtube player”应该激活JS,但JS不是由它触发的。对于youtube播放器,如果有必要的话。Youtube lazy load JS在没有分页/ajax的情况下工作(如果我将所有内容都保持在同一页面上),但在分页和ajax的情况下,它不会工作

在index.php上,我有以下内容:

function getresult(url) {
    $.ajax({
        url: url,
        type: "GET",
        data: {
            rowcount: $("#rowcount").val(),
            "pagination_setting": $("#pagination-setting").val()
        },
        beforeSend: function () {
            $("#overlay").show();
        },
        success: function (data) {
            $("#pagination-result").html(data);
            setInterval(function () {
                $("#overlay").hide();
            }, 500);

        },
        error: function () {}
    });
}

function changePagination(option) {
    if (option != "") {
        getresult("pagination/getresult.php");
    }
}
我会密切注意的。我花了好几个小时想弄明白,但我弄不明白。谢谢


编辑:有个魔法师过来帮我。评论中的解决方案

在JS文件中,您可以将DomContentLoaded事件附加到激活youtube播放器的代码中。因此,当您的第一个get结果被激发时,它将在加载DOM并激活JS时正常工作。但是,在随后的get调用中,您的dom没有被加载,而是在改变

我相信,每次AJAX调用成功时,您都需要调用激活youtube player的代码

tou可以做的是将JS代码附加到自定义事件,然后即使每次AJAX调用成功也会触发此事件

在JS中:

您可以按照此链接查看如何在JS中创建和触发事件


尝试重新初始化youtube嵌入的函数,如下所示:

函数getresult(url){ $.ajax({ url:url, 键入:“获取”, 数据:{ 行计数:$(“#行计数”).val(), “分页设置”:$(“分页设置”).val() }, beforeSend:函数(){ $(“#覆盖”).show(); }, 成功:功能(数据){ $(“#分页结果”).html(数据); var div,n, v=document.getElementsByClassName(“youtube播放器”); 对于(n=0;n}示例代码中没有任何内容显示您如何尝试呈现通过AJAX检索到的新YouTube视频嵌入代码。我将YouTube脚本放在上面的pastebin链接()中。我在上面粘贴的div放在getresult.php中,在index.php上有我在上面添加的getresult函数。youtube脚本在同一页面上呈现视频时不使用分页/ajax,但在我尝试从getresult.php检索视频时不会。我在两个文件上都放了JS,但都不起作用。我迷路了。JS在通过div之后不会影响它们吗?也许我应该解释得更好。获取getresult.php的AJAX调用脚本(通过getresult(“pagination/getresult.php”);)获取所有getresult。在getresult.php上,它在一个循环中一次加载所有行,在这里可以找到上面的DIV标记。我试着把JS放在那个循环中,但没有成功。我甚至把它放在div标签的正前方,但它不起作用。我很沮丧,因为从逻辑上看,它应该可以工作。你的建议是我在成功时做类似的事情“var event=new CustomEvent”(“事件名称”,{“细节”:“事件示例”});//Dispatch/Trigger/Fire the event document.Dispatch event(event);“我已经尝试过了,非常感谢你的帮助,但我还是迷路了,即使有你展示的页面。我唯一能想到的就是把这个添加到你评论的地方<代码>//添加事件侦听器文档。addEventListener(“???”),函数(e){console.log(e.detail);//打印“事件示例”});//创建事件var event=new CustomEvent(“???????”,{“detail”:“事件示例”});//发送/触发/触发事件文档。发送事件(事件)我一点也不懂JS,这是我在我的网站上添加的唯一一点JS(至少现在,直到我对JS有了更好的理解)。我知道JS的概念和一些基础知识。我相信我知道你想说什么,但我不知道如何执行。我已经编辑了我的原始答案,更具体一些,试试看,让我知道它是否有效。天哪。这确实奏效了。我真的很怀疑它是否会起作用,哈哈,对不起,但我是。我认为自己很适合Python和PHP,但是JavaScript是一个完全不同的动物(我计划尽快学习)。非常感谢。很高兴我能帮忙。