前端vue拖拽


工作上遇到的需求:頁面上需要拖拽一個小方塊div拷貝至保存的容器中。

一、可拖拽

那么我們需要對小方塊div進行授權,設置draggable="true"允許其被拖動

二、定義拖拽事件

由於要對小方塊進行拷貝,因此我們可以直接在拖拽開始的事件中對小方塊進行拷貝

那么很顯然拖拽時發生的操作我們會在drag函數中進行定義:

如:在拖動事件drag中對拖動的小方塊進行了拷貝,保存在了dom中。當然有其他需求的可以再進行一些其他的操作。

三、容器的操作

對於容器而言,我們需要對其授權,操作dragover拖拽結束的事情,允許他被放下拖動的小方塊。

備注:此事件是通過阻止原生事件來允許容器被放下拖拽的小方塊。

四、拷貝事件

為了達到拷貝完成的效果,我們需要在容器的drop事件中定義好拖拽結束之后發生的事件,也就是我們需要在此將拷貝好的dom內容插入到容器中,達到渲染到頁面上,完成整個拖拽事件的效果。

備注:在drop事件中,首先要阻止原生父事件,然后我將剛剛拷貝好的this.dom小方塊直接通過appendChild插入到了頁面的容器中,實現整個頁面上拖拽渲染的整個過程。

 

總結:拖拽只需要定義好拖拽者允許拖拽draggable,容器允許被放置,同時定於好開始拖拽dragstart的事件以及拖拽結束dragover的事件,最后定義好放置事件drop即可完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM