拖拽,拖放事件可以通過拖拽實現資料傳遞,達到良好的互動效果,如:從作業系統拖拽檔案實現檔案選擇,拖拽實現元素布局的修改.
乙個完整的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 使用者將滑鼠...