原生拖拽,拖放事件 drag and drop

2021-09-20 03:06:28 字數 1100 閱讀 7041

拖拽,拖放事件可以通過拖拽實現資料傳遞,達到良好的互動效果,如:從作業系統拖拽檔案實現檔案選擇,拖拽實現元素布局的修改.

乙個完整的drag and drop流程通常包含以下幾個步驟:

設定可拖拽目標.設定屬性draggable="true"實現元素的可拖拽.

監聽dragstart設定拖拽資料為拖拽操作設定反饋圖示(可選)設定允許的拖放效果,如copy,move,link設定拖放目標,預設情況下瀏覽器阻止所有的拖放操作,所以需要監聽dragenter或者dragover取消瀏覽器預設行為使元素可拖放.

監聽drop事件執行所需操作以下是拖拽產生的一系列事件,拖拽事件產生時不會產生對應的滑鼠事件.

拖拽事件週期中會初始化乙個datatransfer物件,用於儲存拖拽資料和互動資訊.以下是它的屬性和方法.

datatransfer物件在傳遞給***的事件物件中可以訪問,如下:

draggableelement.addeventlistener('dragstart', function (event) , false);
詳細參考mdn recommended drag type

在頁面中選擇文字並拖拽,無需處理dragstart設定資料,瀏覽器自動設定選取的文字.相當於event.datatransfer.setdata("text/plain", "this is text to drag").只需要在拖放目標上讀取對應格式的資料即可.

前面介紹了最基本的理論知識,下面進行實際操作

H5的拖放事件 拖拽刪除

今天我們來介紹一下h5的拖放事件 拖放事件 h5的拖放事件提供了多個介面 1 drag 當元素或者選中的文字被拖動時觸發 每幾百毫秒觸發一次 應用在被拖拽元素上 2 dragend 當拖動操作結束時觸發 通過釋放滑鼠按鈕或者點選轉義鍵 應用在被拖拽元素上 3 dragenter 當乙個被拖動的元素或...

原生JS拖拽

想要讓整個元素移動需要三個事件 滑鼠按下 onmousedown 滑鼠移動 onmousemove 滑鼠抬起 onmouseup html 登入會員 關閉使用者名稱 登入密碼 登入會員 頁面效果如下 jsvar login document.queryselector login 獲取整個彈框的內容...

路由事件(滑鼠拖放)

路由事件 滑鼠拖放 開發工具與關鍵技術 visual studio 2017 wpfwpf中的拖放操作的方法和事件被集中到system.windows.dragdrop.拖放操作通過下面三個步驟進行 1 用於單擊乙個元素,並保持滑鼠鍵為按下狀態。這是資訊被擱置起來,並且拖放操作開始。2 使用者將滑鼠...