我想在ajax响应后将加载脚本替换为现有脚本。如何替换(重新执行)当前脚本函数?
由于我只会更新一些元素,所以整个页面将不会被重新加载,并且替换元素上的某些事件将会丢失。
Re-Run application Javascript on ajax loaded content < ---这不是我一个解决方案...
我试图加载的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
};
});
我发现不完全是你想要的,但也许你可以在脚本源中找到一些有用的东西:http://www.arashkarimzadeh.com/component/content/article/17.html –