社区
JavaScript
帖子详情
使用innerHTML造成之前的绑定事件丢失
lawrendc
2011-12-29 06:04:14
Hi, 各位高手,最近遇到一个问题,之前使用javascript 对控件进行绑定的事件,但通过innerHMTL存储到一个变量里边去之后,再调用innerHTML进行显示时,发现之前绑定的所有事件都出现了丢失,请问怎么解决???
...全文
655
12
打赏
收藏
使用innerHTML造成之前的绑定事件丢失
Hi, 各位高手,最近遇到一个问题,之前使用javascript 对控件进行绑定的事件,但通过innerHMTL存储到一个变量里边去之后,再调用innerHTML进行显示时,发现之前绑定的所有事件都出现了丢失,请问怎么解决???
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
greency
2011-12-31
打赏
举报
回复
dom渲染和js不同步造成的,修改事件绑定试下
诺维斯基
2011-12-31
打赏
举报
回复
在你要加入innerHTML的地方再加一个div,给个id.
然后把这个innerHTML放在这个div中,
可以不?
不耐烦
2011-12-31
打赏
举报
回复
事件委派~ 很简单的
lawrendc
2011-12-31
打赏
举报
回复
谢谢,各位的解答
碧海情天-赵亮
2011-12-31
打赏
举报
回复
楼主说的是AJAX里返回JS事件的问题吧。这个以前在做的时候遇到过。是用下面的方法解决的:
在返回的<script>里加个属性 <script defer="defer" >...</script> 这样就行了。
如果不是这个问题,就是对INNERHTML赋值导致的事件没有重新绑定的问题,那就如上所说,赋值之后重新绑一下就是了。
licip
2011-12-30
打赏
举报
回复
+1[Quote=引用 2 楼 p2227 的回复:]
参考 jQuery.live() 的实现,把事件绑定到根元素。
[/Quote]
lawrendc
2011-12-30
打赏
举报
回复
其实我想实现的是在Ajax里如何让浏览器的前进后退可用,但参考了网上的解决方案之后,发现我直接生成的代码里链接的响应事件全部丢失,调试发现,使用innerHTML根本不能把attachEvent一并保留下来
lawrendc
2011-12-30
打赏
举报
回复
[Quote=引用 4 楼 hch126163 的回复:]
innerHTML 后重新绑定事件
或者直接把事件写入html 如 innerHTML="<div onlick='fun()'></div>";
[/Quote]
直接这样写的话 不能绑定多个事件吧 而且我还需要传参数进去的
hch126163
2011-12-30
打赏
举报
回复
innerHTML 后重新绑定事件
或者直接把事件写入html 如 innerHTML="<div onlick='fun()'></div>";
zell419
2011-12-29
打赏
举报
回复
[Quote=引用 2 楼 p2227 的回复:]
参考 jQuery.live() 的实现,把事件绑定到根元素。
[/Quote]
+1 或者更新完内容后 再次执行绑定事件 。
p2227
2011-12-29
打赏
举报
回复
参考 jQuery.live() 的实现,把事件绑定到根元素。
whdrs
2011-12-29
打赏
举报
回复
发代码
JS中
innerHTML
动态
绑定
的
事件
丢失
JS中
innerHTML
动态
绑定
的
事件
丢失
问题概述: 父元素
使用
innerHTML
在原有的内容下插入新的内容,会导致原来的子元素
绑定
的
事件
无效,具体代码如下: <body> <button id="btn">点我</button> <script> var body = document.body; ...
html
innerhtml
绑定
事件
无效,js中
innerHTML
的动态
绑定
的
事件
丢失
js事
innerHTML
事件
丢失
老前端人以前很容易遇到这种问题。渲染服务器端的数据,包装成自己的HTML,
使用
innerHTML
或者.html(),异步的把它渲染上去。这时候会发现子元素写的一些
事件
不生效。image案发现场例如我们想在body中追加一个div,仔细看下面这个代码,您就会发现我在说什么了。按钮var ob = document.getElementById('btn');//doc...
js中
innerHTML
的动态
绑定
的
事件
丢失
js事
innerHTML
事件
丢失
----欢迎查看我的博客---- 老前端人以前很容易遇到这种问题。渲染服务器端的数据,包装成自己的HTML,
使用
innerHTML
或者.html(),异步的把它渲染上去。这时候会发现子元素写的一些
事件
不生效。 案发现场 例如我们想在body中追加一个div,仔细看下面这个代码,您就会发现我在说什么了。 <body> <button i...
innerHTML
踩坑
innerHTML
踩坑 请看下面的例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <button>再来一个</button> </body> <script type="text/javascript">
关于
innerHTML
后
丢失
动态
绑定
的EVENT
用
innerHTML
取出一段内容后再
innerHTML
回去,那么原来动态
绑定
的
事件
就会
丢失
,如: html: <body><div id='d1'>点击</div></body> script: document.getElementById('d1').onclick=function(){alert(1)}; var html=docu...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章