最早在網頁中引入js拖放功能的是IE4,並且只可以拖放圖像和某些文本。IE5.5以後網頁中的任何元素都可以進行拖放。HTML5以IE為實例制定了拖放規范。FireFox3.5、Safari3+和Chrome也根據HTML5規范實現了原聲拖放功能。
拖動某元素時,將依次觸發下列事件:
(1) dragstart
(2)drag
(3)dragend
這個事件和mousemove事件相似。以上三個事件的目標都是被拖動元素,默認情況下,浏覽器不會在拖動期間改變被拖動元素的外觀,但你可以自己修改。不過,大多數浏覽器會為正被拖動的元素創建一個半透明的副本,這個副本始終跟隨著光標移動。
當某個元素被拖動到一個有效的放置目標上時,下列事件將依次發生:
(1)dragenter
(2)dragover
(3)dragleave 或 drop