IE和FF兼容之DIV拖動

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()來解決。

發佈了44 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章