2010-03-13 109 views
15

在HTML5 DnD中,如何確定(x,y)座標,同時拖動「dragover」和拖放(「drop」)之後?HTML5:dragover(),drop():如何獲取當前的x,y座標?

我發現了一個描述dragover的x,y的網頁(查看e.offsetX和e.layerX來查看是否爲各種瀏覽器設置,但是對於我來說他們沒有設置)。

你使用drop(e)函數來找出當前放置目標中的WHERE實際被放下的位置?

我正在寫一個在線電路設計應用程序,我的放置目標很大。

我是否需要下拉鼠標級來查找x,y或HTML5是否提供了更高級別的抽象?

回答

19

性質clientXclientY應設置(在現代瀏覽器):

function drag_over(event) { 
    console.log(event.clientX); 
    console.log(event.clientY); 
    event.preventDefault(); 
    return false; 
} 
function drop(event) { 
    console.log(event.clientX); 
    console.log(event.clientY); 
    event.preventDefault(); 
    return false; 
} 

Here's a (somewhat) practical example,在Firefox和Chrome工作。

+0

感謝您的演示。你知道爲什麼在Safari和Chrome上當文本丟失時,它不會完全保持在同一位置嗎?被拖動的元素被移動了幾個像素。 – Charles 2017-05-15 15:03:21

+0

@Charles我在Chrome上試過它(在Windows上),我沒有看到它,如果你知道它是什麼,請讓我知道 – robertc 2017-05-15 16:12:51