JQuery UI Draggable如何获得拖动开始位置
我可以拖动我的可拖动项目并将它们放在我的droppables上,并从drop事件中的ui.absolutePosition获取放置位置。 我需要知道阻力从哪个位置开始。 我试过在拖动开始事件上获取ui.position但这是null。 我也尝试了ui.position对拖动事件的看法,但这是未定义的。
有任何想法吗?
您应该能够使用.droppable的drop函数中的ui.draggable来获取您所追求的内容。
ui.draggable.offset()
也许。
如果你想在拖动开始时确切的鼠标位置,你可以在.draggable()启动函数上使用event.clientX和event.clientY
$('selector').draggable({ ...options... start: function(event, ui) { alert("You clicked x:" + event.clientX + " y:" + event.clientY); } });
一种可能更好的方法可能是保存元素在数据中的起始位置
jQuery("selector").draggable({ start: function(event, ui) { // Log start dragged position to element data jQuery(this).data('startPosition', jQuery(this).position()); } });
所以你可以在以后使用它或在其他function中使用…..例如
stop: function(event, ui){ Startpos = jQuery(this).data("startPosition"); alert("DragStart : Left(" + parseInt(Startpos.left) + ")Top(" + parseInt(Startpos.top) +")" ); }