1.問題:
在拖拽元素的時候,如果元素內部加了文字或圖片,拖拽效果會失靈?
原因:瀏覽器會給文字和圖片一個默認行為,當文字和圖片被選中的時候,會有一個拖拽效果,即使我們沒有人為給它添加。所以當我們點擊這個元素拖拽時,有可能選中文字或圖片觸發瀏覽器天生給的那個行為,從而導致我們寫的那個拖拽效果失靈。
如何解決:
setCapture() 全局捕獲的方法,它是IE低版本所特有的。給一個元素添加了這個方法之后,無論我們在頁面的哪個地方觸發了相同的事件,都會轉移到這個元素。
取消全局捕獲:releaseCapture()
新增獲取元素的方法
document.querySelector() 獲取的是單個元素
document.querySelectorAll()獲取的是元素組
括號里可以寫 div .div #div
完整的拖拽代碼(封裝)
HTML部分:
CSS部分:
JS部分: