Hi, 各位高手,最近遇到一个问题,之前使用javascript 对控件进行绑定的事件,但通过innerHMTL存储到一个变量里边去之后,再调用innerHTML进行显示时,发现之前绑定的所有事件都出现了丢失,请问怎么解决???

解决方案 »

  1.   

    参考 jQuery.live() 的实现,把事件绑定到根元素。
      

  2.   

    innerHTML 后重新绑定事件或者直接把事件写入html  如 innerHTML="<div onlick='fun()'></div>";
      

  3.   

    其实我想实现的是在Ajax里如何让浏览器的前进后退可用,但参考了网上的解决方案之后,发现我直接生成的代码里链接的响应事件全部丢失,调试发现,使用innerHTML根本不能把attachEvent一并保留下来
      

  4.   

    在你要加入innerHTML的地方再加一个div,给个id.然后把这个innerHTML放在这个div中,可以不?
      

  5.   

    dom渲染和js不同步造成的,修改事件绑定试下
      

  6.   

    楼主说的是AJAX里返回JS事件的问题吧。这个以前在做的时候遇到过。是用下面的方法解决的:在返回的<script>里加个属性   <script defer="defer" >...</script>  这样就行了。如果不是这个问题,就是对INNERHTML赋值导致的事件没有重新绑定的问题,那就如上所说,赋值之后重新绑一下就是了。