首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

使用innerHTML造成之前的绑定事件丢失,该怎么解决

2012-03-21 
使用innerHTML造成之前的绑定事件丢失Hi, 各位高手,最近遇到一个问题,之前使用javascript 对控件进行绑定

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

[解决办法]
参考 jQuery.live() 的实现,把事件绑定到根元素。
[解决办法]

探讨

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

[解决办法]
innerHTML 后重新绑定事件

或者直接把事件写入html 如 innerHTML="<div onlick='fun()'></div>";
[解决办法]
在你要加入innerHTML的地方再加一个div,给个id.

然后把这个innerHTML放在这个div中,

可以不?
[解决办法]
dom渲染和js不同步造成的,修改事件绑定试下
[解决办法]
楼主说的是AJAX里返回JS事件的问题吧。这个以前在做的时候遇到过。是用下面的方法解决的:

在返回的<script>里加个属性 <script defer="defer" >...</script> 这样就行了。

如果不是这个问题,就是对INNERHTML赋值导致的事件没有重新绑定的问题,那就如上所说,赋值之后重新绑一下就是了。

热点排行