1 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
一、關(guān)于拖拽API
拖拽API是HTML5的新特性,相對于其他新特性來說,重要程度占到6成,實(shí)際開發(fā)中使用比例占到3成,學(xué)習(xí)要求個人認(rèn)為是達(dá)到掌握即可的程度。
二、什么是拖拽和釋放?
拖拽:Drag
釋放:Drop
拖拽指的是鼠標(biāo)點(diǎn)擊源對象后一直移動對象不松手,一但松手即釋放了
三、什么是源對象和目標(biāo)對象?
源對象:指的是我們鼠標(biāo)點(diǎn)擊的一個事物,這里可以是一張圖片,一個DIV,一段文本等等。
目標(biāo)對象:指的是我們拖動源對象后移動到一塊區(qū)域,源對象可以進(jìn)入這個區(qū)域,可以在這個區(qū)域上方懸停(未松手),可以釋松手釋放將源對象放置此處(已松手),也可以懸停后離開該區(qū)域。
四、拖拽API的相關(guān)函數(shù)
解釋了什么是源對象和目標(biāo)對象后,回歸前端中的拖拽API,由上面的操作我們可以得出幾個函數(shù)
被拖動的源對象可以觸發(fā)的事件:
(1)ondragstart:源對象開始被拖動
(2)ondrag:源對象被拖動過程中(鼠標(biāo)可能在移動也可能未移動)
(3)ondragend:源對象被拖動結(jié)束
拖動源對象可以進(jìn)入到上方的目標(biāo)對象可以觸發(fā)的事件:
(1)ondragenter:目標(biāo)對象被源對象拖動著進(jìn)入
(2)ondragover:目標(biāo)對象被源對象拖動著懸停在上方
(3)ondragleave:源對象拖動著離開了目標(biāo)對象
(4)ondrop:源對象拖動著在目標(biāo)對象上方釋放/松手
拖拽API總共就是7個函數(shù)?。?br/>五、如何在拖動的源對象事件和目標(biāo)對象事件間傳遞數(shù)據(jù)
HTML5為所有的拖動相關(guān)事件提供了一個新的屬性:
e.dataTransfer { } //數(shù)據(jù)傳遞對象
功能:用于在源對象和目標(biāo)對象的事件間傳遞數(shù)據(jù)
源對象上的事件處理中保存數(shù)據(jù):
e.dataTransfer.setData( k, v ); //k-v必須都是string類型
目標(biāo)對象上的事件處理中讀取數(shù)據(jù):
var v = e.dataTransfer.getData( k );
添加回答
舉報(bào)