外部HTML不能识别javascript

external html won't recognize javascript

本文关键字:javascript 识别 不能 HTML 外部      更新时间:2023-09-26

我有一个小的产品查看器,允许用户通过javascript 360度旋转产品,并查看产品的替代图像。现在,它从一系列图像开始,这些图像组成了360视图,这些图像包裹在父div中,父div本身位于主容器div中,因此结构看起来像这样,

<div id="content">
   <div id="parent">
     <div class="child"></div>
     <div class="child"></div>
     <div class="child"></div>
...
   </div>
</div>

因此,使用。replace方法,我将加载一个新图像来替换360视图

$('#button').click(function () {
    $('#parent').fadeOut(500, function () {
        $('#parent').replaceWith('<img src="screen2.png" id="img2" class="child">');
    });
});

现在,我试图恢复原来的360视图使用。load方法。

$("#button2").click(function () {
    $('#img2').fadeOut(500, function () {
        $('#content').load('external.html');
    });
});

现在external.html和原来的视图有相同的内容,但是不能识别让360视图工作的javascript。我没有离开原始文档或web视图,但不确定为什么它不影响外部。html。

问题很可能是您的360查看器被绑定到您要替换的元素。一旦您将它们替换为.replaceWith().load(),事件将不再被绑定。

在不知道如何呼叫360度观众的情况下,很难给出具体细节。但基本上,你会想要做这样的事情:

$("#button2").click(function () {
    $('#img2').fadeOut(500, function () {
        $('#content').load('external.html', function() {
            // Re-bind the 360 viewer in this function
            // Below is pseudo-code, replace with proper code
            $("#content").viewer({...};
        });
    });
});