您好,登錄后才能下訂單哦!
這篇“H5拖放技術有哪些語法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“H5拖放技術有哪些語法”文章吧。
提到拖拽,我們都很熟悉,那么拖放呢?一字之差,代表的意義是不一樣的,拖拽就是拉著走,拖放就是有拖,有放,我們都知道原生 JS 拖拽效果的缺點:
1. 代碼相對復雜與冗余
2. 僅限于在瀏覽器內的元素間拖放
3、不能實現跨頁面的拖放
所以H5就出現了拖放技術,與 JS 原生相比 HTML5 拖放的優勢:
H5拖放技術,drag&drop,對于瀏覽器的支持性:
Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。注:在 Safari 5.1.2 中不支持拖放。
那么它有哪些api語法,我們來看一下:
1、draggable 屬性
通過 draggable 告訴瀏覽器哪些元素需要實現拖拽功能。有三個可選值:
true: 元素可以被拖拽
false:元素不能被拖拽
auto:瀏覽器自己判斷元素是否能被拖拽 ( 默認 )
2、對象拖放事件
dragstart:按下鼠標鍵并開始移動時觸發
drag:在元素拖拽過程中持續觸發----相似與mousemove
dragend:元素拖拽停止時觸發
3、投放區事件流程
元素被拖動到有效的放置目標時,下列事件會依次發生:
1). dragenter:當拖拽對象進入投放區時觸發
2). dragover :拖拽對象在投放區內移動時持續觸發
3). dragleave:元素被拖出了投放區時觸發
4). drop:拖拽對象投放在投放區時觸發
雖然所有元素都支持放置目標事件,但這些元素默認是不允許放置的,需要重寫事件的默認行為,例如:
在ondragover中一定要執行 preventDefault()否則ondrop事件不會被觸發
4、dataTransfer 對象--常用方法
setDragImage (圖標,圖標距指針X軸偏移值,Y軸偏移值 )
指定一個圖標,當拖動發生時,顯示在光標下方
5、dataTransfer 對象--常用屬性:
dropEffect 表示被拖動的元素能夠執行哪種放置行為
可能的值:
“none” : 不能把拖動的元素放在這里
“move”: 把拖動的元素移動到放置目標
“copy”: 把拖動的元素復制到放置目標
“link”: 放置目標會打開拖動的元素(有URL)
effectAllowed 允許拖動元素的哪種dropEffect
允許值:
“copyLink” : 允許值為 copy 和 link 的 dropEffect
“copyMove”: 允許值為 copy 和 move 的 dropEffect
“linkMove” : 允許值為 link和 move 的 dropEffect
“all” : 允許任意的 dropEffect
注意:dropEffect屬性搭配effectAllowed屬性使用在dragstart事件處理程序中設置effectAllowed屬性在dragover事件處理程序中設置dropEffect屬性dropEffect 的每個可能值都會導致光標顯示為不同的符號
6、files文件
dataTransfer.files:如果是拖放文件,則返回正在拖放的文件列表FileList
FileReader:專門用于讀取文件,FileReader 接口提供一些讀取文件的方法與一個包含讀取結果的事件模型
FileReader.readAsDataURL方法:參數為要讀取的文件對象,將文件讀取為DataUrl
FileReader.事件:當讀取文件成功完成的時候觸發此事件,在事件觸發后,你可以通過this.result來獲取讀取的文件數據,如果是圖片,將返回格式的圖片數據。
以上就是關于“H5拖放技術有哪些語法”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。