2011-12-09 57 views
0

我正在爲一個學校項目寫一個JavaScript庫,可以讓你實現拖放操作。我已經實施拖動。當用戶拖動一個可拖動的對象時,我創建了一個部分透明的對象跟隨他們的鼠標指針的克隆,直到他們擡起鼠標(onmouseup)。當他們拖拽一個可拖拽對象時,我希望有一個視覺來向用戶顯示他們可以放下對象。
jQuery UI的已經做到了這一點: http://jqueryui.com/demos/droppable/#visual-feedback使用javascript,爲什麼我的onmouseover事件不被解僱?

我不能得到這個工作,因爲沒有被解僱我的onmouseover事件,因爲我的克隆元素的方式。我的克隆總是遵循鼠標指針。我怎樣才能讓事件觸發克隆下的元素?

+1

可以顯示代碼PLZ – Sedz

+0

作出[的jsfiddle(http://jsfiddle.net/)請。 – Tomas

回答

3

onMouseDown/Up是在你拖動的元素定義。拖動對象下的元素將無法捕捉到onMouseOver事件。爲什麼?由於您在拖動對象,而該對象只能捕獲onMouseOver事件。

因此,探測目標,也許你應該創建一個計算可投放對象的座標的腳本,並將其儲存。然後搜索鼠標座標是否在droppableObjectCoordinates之內,並且在釋放鼠標左鍵後,放下拖動到正確位置的內容。

0

在身體上使用鼠標移動事件,該事件檢查鼠標座標對象clientX和clientY。