执行innerHTML后绑定事件消失

转载请注明出处WangYuheng’s Blog

[问题]

编写js插件,利用innerHTML=innerHTML+plugin_content 渲染插件内容后,原网站绑定事件失效。

[原因]

jquery html元素绑定后,重新渲染页面后,没有重新绑定,所以失效。

[怎么发现的]

引用插件后,页面上的click事件无效。

[修复]

修改插件的渲染方式为 createElement元素后,通过appendChild添加到页面上。

[我导致的]

是的

[解决Bug的时间]

5分钟

[教训]

编写插件时,不能影响已有元素,不能侵入和耦合。了解页面的重绘。