我想根據拖動的距離來重新計算被拖動元素的相對位置,但是現在出現了很奇怪的問題:ondragend觸發的事件中的e.pageX 減去ondragstart中觸發事件的e.pageX,并不是實際移動的X的距離,而是得出一個我不知道是怎么得出來的數字,據觀察,ondragend觸發的事件中的e.pageX 并不是所期望的,這個嘗試一下下面的demo就可以發現。Y方向也是。不知道這里是不是有什么坑?以及如何計算實際拖動的X方向和Y方向的距離?下面是demo代碼:<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Title</title></head><body><div style="width: 100px;height:100px;background-color: #4A90E2" draggable="true" id="div"></div><script> let d = document.getElementById('div'); d.ondragstart = function(e){ console.log('on drag start:', e.pageX,e.target); console.log('on drag start:', e.pageY); }; d.ondrag = function(e){// console.log('on drag :', e.pageX,e.target);// console.log('on drag :', e.pageY); }; d.ondragend = function(e){ console.log("on drag end...",e.pageX, e.target); console.log("on drag end...",e.pageY); };</script></body></html>
html5 drag and drop拖動距離問題
翻翻過去那場雪
2019-02-11 21:27:06