我有一个主站点A,我在子站点B上用AJAX加载内容。有一个jQuery文件可以改变站点A上的元素(向它们添加事件,类,如果需要则重新呈现它们等)正在document.ready()
上启动现在我需要将站点B中的内容加载到站点A中。我使用函数来完成:
$.get("/some/url/",{},function(e){
$(".some_div").html(e);
});
问题是如果我在站点B中包含jQuery,会发生以下情况:jQuery加载内容,将其放入站点A,然后触发在其中获取的所有脚本。这导致了网站的重新渲染和一大堆混乱。
我需要做的是在HTML对象 e 之后立即模拟文档.ready(),然后再将其从网站B中移出附加到站点A(所以我将重新呈现HTML代码,准备好所有事件,类和监听器。)
答案 0 :(得分:0)
你不能把你的代码放在函数中,并在调用之前运行你的东西:
$(".some_div").html(e);
在该行之上,来自b的所有html已准备好但未加载或运行。或者你的意思是你想要输入HTML而不是脚本?只需使用jquery函数去除脚本标记(执行e.find('script').appendTo(new_div);
)。
或者在b中添加一些代码。在b中创建一个名为init()
的函数来调用所有内容。其他一切都在功能中,没有任何运行。准备就绪后,请致电init()
。
答案 1 :(得分:0)