2010-04-29 16 views
3

我做了一個javascript庫,可以讓我從dragzone拖動一個標記到一個或多個dropzones。獲取Javascript中放置事件的座標?

問題是......鼠標事件發生在我正在拖動的標記上,沒有拖放區域。

我怎樣才能檢測到至少dropzone是標記下降,並在最佳座標?

這裏是我的腳本:

http://dl.dropbox.com/u/186012/demos/dragger/drag.html

+0

通過使用Scriptaculous或jQuery並讓圖書館爲您處理這些問題,您可能會讓您的生活更輕鬆。 – 2010-04-29 02:42:18

+0

我嘗試過所有的解決方案,但是我需要的效果是某種特殊的。我不想拖動我點擊的項目。我需要一個標記的新實例出現並被拖到它在另一個元素上的位置,如地圖或畫布。我無法用任何流行的圖書館做到這一點 – 2010-04-29 05:03:05

回答

1

如果有一個新的實例是你需要的唯一特殊的東西......你可以使用jQuery庫克隆你最初點擊的標記,並將該克隆拖到你想要的位置。

您還可以根據需要使用jQuery修改克隆標記的屬性。

+0

是的,這正是我在我發佈的示例中所做的: http://dl.dropbox.com/u/186012/demos/dragger/drag.html 問題是我需要另一件特別的事情:獲取接收放置的元素的ID。 我得到了拖動元素的Id,因爲它是mouseup發生時鼠標下方的元素。這不是我想要的。 – 2010-07-01 11:03:32

+0

我開始懷疑要做到這一點的唯一方法是計算mouseup事件的整個頁面座標,並開始將它與dropozone元素的位置,大小和zIndex進行比較... – 2010-07-01 11:21:17

+0

我想如果您使用關鍵字「重疊」或「相交」在你的問題,我會早日得到它:)你在找什麼可能在這裏:http://plugins.jquery.com/project/overlaps – bcm 2010-07-05 12:23:27

0

這實際上不是一個直接回答你的問題,但爲什麼重塑了一個解決這個問題已經解決了許多流行和強大的JavaScript庫像JQuery的。

+0

我嘗試過所有的解決方案,但是我需要的效果有點特別。 我不想拖動我點擊的項目。我需要一個標記的新實例出現並被拖到它在另一個元素上的位置,如地圖或畫布。 我無法與任何流行的圖書館做到這一點。 – 2010-04-29 04:14:52