我想在 ajax 响应后将加载脚本替换为现有脚本。
由于我只会更新一些元素,因此不会重新加载整个页面,并且替换元素上的一些事件将丢失。
在 ajax 加载的内容上重新运行应用程序 Javascript <--- 这对我来说不是一个解决方案......
我尝试从加载的 html 和eval()
它们中获取脚本标签。但是,这不会取代现有的功能,而是将它们加倍。
我想通过不使用来替换或重新执行脚本功能$(document).html(data);
我阅读了许多参考资料,例如 http://www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml
不过我不是很懂。。。。。。
请帮助和建议一个更容易理解的例子。非常感谢!
我现在的脚本是
$script.each(function(index){ //data from loaded page, same page
if(!$(this).attr('src')){ //replace where is not from external only
$(document.getElementsByTagName( 'script' )).slice(index).remove();
//remove existing script, no working
eval($(this).text());
// re-execute, wokring
};
});