我有一个由插件创建的点击事件,在我加载 $.ajax 并且只替换(更新)包含点击事件的区域后,该事件将丢失。
<span ref='B'><span ref='A'></span></span>
//click event is on A, but I replaced the html inside of B to <span ref='A'></span>;
its update, so the replaced html are the same.
我阅读了许多相关问题,我发现解决方案是
.live() // will not work
.delegate(), // work
.on(), // work
解决方案是我应该将事件绑定在 B 而不是 A 上B.on('click', A, function(){})
......
但是,我的结构很难改变,我宁愿找到一种解决方案,可以在替换或替代时防止丢失事件。
请指教,万分感谢。
使用 detach() 解决