我目前正試圖創建我自己的拖放功能在JavaScript(與事件監聽),我面臨的一個問題:當我開始拖動我的元素,我無法瞭解因爲拖動的元素位於我的光標前面。獲取元素背後的另一個元素
我想知道是否有可能得到我的光標的位置,而不受元素即時拖動的影響。
注:我不能使用jQuery來達致這
感謝,
編輯:我的代碼
var i = 0;
window.addEventListener('mousedown', startDrag);
var leftMarg = document.getElementById('moving').offsetWidth/2;
var topMarg = document.getElementById('moving').offsetHeight/2;
function stopDrag(e) {
window.removeEventListener('mousemove', dragging);
window.removeEventListener('mouseup', stopDrag);
window.removeEventListener('mousemove', grabbing);
}
function startDrag() {
window.addEventListener('mouseup', stopDrag);
window.addEventListener('mousemove', grabbing);
}
function grabbing(e) {
for (let i = 1; i < document.getElementById("test").children.length; i++) {
if (document.getElementById("test").children[i].contains(e.target)) {
document.getElementById("moving").style.visibility = "visible";
document.getElementById("moving").innerText = e.target.innerText;
window.removeEventListener('mousemove', grabbing);
window.addEventListener('mousemove', dragging);
}
}
}
function dragging(e) {
document.getElementById("moving").style.left = (e.x - leftMarg) + "px";
document.getElementById("moving").style.top = (e.y - topMarg) + "px";
}
添加代碼,你爲它做 –
歡迎[https://stackoverflow.com/](https://stackoverflow.com /) !在這個站點上,你應該嘗試自己編寫代碼。如果您遇到問題,在做了更多研究後,您可以發佈您已經嘗試過的內容,並清楚說明哪些內容無法正常工作並提供[最小,完整和可驗證的示例](https://stackoverflow.com/help/ mcve)。我建議閱讀[如何問](https://stackoverflow.com/help/how-to-ask)。祝你好運! – MorganFreeFarm