1.拖动DIV的关键在于把鼠标的移动事件不间断的进行捕获并进行处理。当鼠标快速移动时,即使移除了DIV的范围,也应该捕获事件进行相应的处理。在IE中,可以使用object.setCapture()方法,动作完成之后需要object.releaseCapture()。FF是不支持此方法的。解决的办法是将鼠标的移动事件绑定到document上,待鼠标释放时,移除事件。
2.添加事件的方法为:docuemnt.addEventListener(string eventName,functionName handleFunction,boolean bool)
移除事件的方法为:document.removeEventListener(string eventName,functionName handleFunction,boolean bool)
当然也可以用document.onmousemove = function() {};来绑定。
3.在FF里有的时候拖动容易中断,可能是因为鼠标移出DIV后,事件被其他元素捕获。可以通过event.preventDefault()来解决。