2011-12-09 58 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。