1. 程式人生 > >16.2.1拖拽事件

16.2.1拖拽事件

通過拖拽事件,可以控制拖放相關的各個方面。其中最關鍵的地方在於確定哪裡發生了拖放事件,有些事件是在被拖動的元素上觸發的,

而有些事件是在放置目標上觸發的。拖動元素時,將依次觸發以下事件:

1、dragstart

2、drag

3、dragend

按下滑鼠鍵並開始移動移動滑鼠時,會在被拖放的元素上觸發dragstart事件。此時游標變成不能放符號,表示不能把元素放到自己上面。拖動開始時,可以通過ondragstart

事件處理程式執行JavaScript程式碼。

觸發dragstart事件後,隨即會觸發drag事件,而且在元素被拖動期間會持續觸發該事件。這個事件與mousemove事件相似,在滑鼠移動過程中,mousemove事件也會持續發生。

當拖動停止時(無論把元素放到有效的放置目標,還是放到了無效的放置目標上),會觸發dragend事件。

 

上述三個事件的目標都是被拖動的元素,預設情況下,瀏覽器不會在拖動期間改變被拖動元素的外觀,但你可以自己修改。不過大多數瀏覽器會為正被拖動的元素建立一個半透明的副本,

這個副本始終跟隨著游標移動。