一个网站的数据大多数都是异步刷新的,这没什么好说的,然后现在很多前后端框架,大家都知道框架很好用,不用自己写样式,只要利用框架上的语法就能做出漂亮的动态的效果来,而用框架的话大多数的动态效果都是动态生成的,比如拿对话框来说,假如一个这样的例子,主页是一个datagrid表格显示,然后双击编辑,进入编辑对话框,而这个对话框里面的数据是动态生成的,这个就很好处理了,因为只有一层的依赖关系,所以代码规范点就不会出现什么重复id的bug来,不过要是你在在这个编辑对话框里面来个选择图标的功能,点击事件又生成一个图标选择的对话框来,这下子生成的代码有的时候就会很不符合逻辑一样了,因为明明你是在编辑对话框里面的元素下面加载的对话框,可是你用浏览器看到的html却跑到body下面了,这是不是很郁闷了,这下你的动态加载在下一次不刷新的情况下点击编辑对话框,没事,在点击对话框里面的图标选择,确发前面只处理了表格父元素下面的html,却没有处理body下面的元素,可是body下面的元素也不能全处理了,不然主页就没了,所以处理表格内的元素之后还要在处理下第二个对话框里面的元素,这样才能每次把重叠的元素去掉,至于怎么处理,方法好几种了,直接remove方面快捷。
以前遇到这种问题的时候没深入去解决,或许有人会说直接加class来弹出,这样就不会id重复了,这样的话后果就是一下子弹出N个对话框来,行不通,后来我想的决解方案是不要重复去弹出,直接显示出来以后就刷新,别去重新弹出,这样就不会导致生成多个了,就像表格编辑的对话框一样,因为只有一个,显示出来以后就不会关闭,关闭后在打开的时候又会处理下,所以这样是没问题,而当我上面那种问题来了以后,就不可能终是显示,不关闭了,所以这种办法解决了一时,但是没重根本解决问题,今天兴致不错,就写了个日记。