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