最早在网页中引入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