起因:对一个div列表做拖动排序

 

设计思路

1、点击div时记录当前状态,为document绑定mousemove事件,让div的坐标跟随event获取到的当前鼠标位置改变,从而达到移动的目的。

2、记录当前拖动的div高度,每次移动时与当前列表中的div高度依次对比,得到当前拖动div移动的位置,将当前位置的div向下偏移,达到视觉上的动态效果。

3、当鼠标弹起时,将拖动的div,插入到当前位置div处。

4、获取div列表,重新排序,改变显示序号。

 

所遇问题:

重新布局后的div,之前绑定的click事件竟然不起作用。

应该是在chrome下经过after(或其他移动元素的方法)方法后的元素,原绑定事件失效。chrome浏览器对Dom的支持与firefox、IE应该有所不同吧。

在firefox下没有遇到此类问题。

 

解决问题:

无奈,只好在重新排序时,clone()一个当前拖动的div,将新生成的div插入到列表中,重新为clone出来的div绑定事件,原拖动的div只好...咔嚓了..

 

chrome和firefox的浏览器区别啊。。。。。浪费了1个半小时。。太耽误事了..

 

posted on 2014-05-28 17:15  黯然无色  阅读(269)  评论(0)    收藏  举报