人類喜歡將工做或活動步驟化:第一步、第二步、第三步等,由於分解讓人類得以分工並優化局部。 一個做家構思一部鴻篇鉅製,必然要考慮將內容劃分爲幾個部分,每一個部分刻畫相應的人物背景故事. 同理,咱們也將今天的主角拖拽分爲 拖、放兩個步驟,來討論分析.javascript
拖拽成爲一項標準也是近幾年的事,屬於HTML5中的一部分,做爲一種交互行爲,拖拽是被普遍應用再界面軟件中的,例如桌面應用,word、QQ軟件都有拖拽行爲。java
在HTML5標準實施以前,拖拽也是被普遍使用的,web開發者將click、mouseover,mousemove組合起來實現拖拽邏輯,過程略顯冗餘和繁瑣。web
一言蔽之,HTML5的出現讓拖拽開發變得簡單chrome
下圖描繪了拖拽的流程. post
結合上圖,咱們梳理下知識點,作個拆分與解析。測試
dragstart
,drag
,dragend
dragenter
,dragover
,dragleave
,drop
draggable
爲true的元素。wordContainerEle.onselectstart = event => false;
),返回false.這意味着:優化
須要說明的是,一個元素被設置draggable以後,裏面的文本就沒法被選中了(chrome測試如此)。code
dragenter
:均可以。dragover
:均可以dragleave
:均可以drop
:只有在dragover監聽中阻止默認行爲,才能觸發drop答案是確定的。假設一個父元素包含一個子元素,理所固然地,用戶拖子元素也是間接的拖動父元素的過程。cdn
本文講解了拖拽的基礎知識,接下來討論下拖拽的應用以及實例:詳解javascript拖拽(二)拖拽的應用及示例。blog