我有一些在 div 中使用几个 JS 函数的 html。如果我在 JS 和 innerHTML 的帮助下将该 div 的内容更改为其他一些也具有一些 JS 功能的 html 代码,它们就会停止工作。如果我再改回以前的 html,它仍然无法正常工作。
就像 javascript 在 div 中的 html 更新后立即与所有具有该功能的元素绑定。
我知道我可以通过隐藏和显示图层来解决这个问题,但我不想这样做。
目前,我通过每次使用以下代码更改该 div 的 html 时注入 js 文件来解决此问题:
function inject(src, cb, target){
target = target || document.body;
var s = document.createElement('SCRIPT');
s.charset = 'UTF-8';
if(typeof cb === 'function'){
s.onload = function(){
cb(s);
};
s.onreadystatechange = function () {
(/loaded|complete/).test(s.readyState) && cb(s);
};
}
s.src = src;
target.appendChild(s);
return s;
};
每次我更新 html 时都会在 html 文件中加载一个新行,这似乎不是一个非常优雅的解决方案。
当我在不重新加载页面的情况下更改 html 时,有没有办法让我重新加载的 javascript 或保持其连接?