如下,通过动态(如ajax或其他方式)再次附值 innerHTML时,发现innerHTML 中TT3这个函数的调用在火狐中出现异常。innerHTMLstr = <span id="LS4" onMouseOver="TT3(this, TS44)"> MouseOvertext </span><span id="TS44">TargetText</span>   //动态获取innerHTMLstr。注: 为了易于看清,这里双引号不转义。xg.innerHTML = innerHTMLstr;   //这时TT3(this, TS44) 这个函数能正常调用,运行正常。xg.innerHTML = null;innerHTMLstr = <span id="LS4" onMouseOver="TT3(this, TS44)"> MouseOvertext </span><span id="TS44">TargetText</span>  //重新动态获取innerHTMLstr, 这个innerHTMLstr与之前的innerHTMLstr一模一样。(特别是再次包含有TT3(this, TS44)这个调用和TS44这个元素。)xg.innserHTML = innerHTMLstr;  //再次附值后这时TT3(this, TS44) 这个函数在火狐中不能正常工作。在IE, Chrome 等其他浏览器工作正常。经debug检查后觉得出错可能原因有: 1) 第二次附值 innerHTML后,火狐没有清掉之前的TS44这个元素,即出现TS44的id重复,导致出错。2) 原先的 TT3(this, TS44)被绑定到旧的TS44。可能需要重新绑定函数。我试了一个有效的解决,在第二次将innerHTMLstr附值给xg前,把 innerHTMLstr 中的TS44 替换加上随机数。结果TT3就能工作正常。但这个解决方案是没办法的办法。 以下是我上网找到的几种解决方法好象都没用:  1) LS4.removeAttribute(onmouseover)  2) 移除 xg 下的 childnodes  3) $(“#LS4”).unbind()   --- 还请高人指点正确解决途径。多谢!