我有一些html在div中使用了几个JS函数。如果我在JS和innerHTML的帮助下将该div的内容更改为其他一些也有一些JS函数的html代码,它们就会停止工作。如果我然后改回以前的HTML,它仍然无法正常工作。
就像更新div中的html时,javascript一直未绑定到具有该功能的所有元素。
我知道我可以通过隐藏和显示图层来解决这个问题,但我不想这样做。
目前我已经通过使用此代码每次更改该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?
答案 0 :(得分:0)
执行js代码,您可以直接使用eval()
它将立即执行js,无论html或dom结构更改如何。