我可以拖動我的可拖動項目並將它們放在我的droppables上,並從drop事件中獲取 ui.absolutePosition的放置位置。我需要知道拖動從哪個位置開始。 我已經嘗試在拖動啓動事件上獲取ui.position,但是這是空的。我也在拖動事件上嘗試了 ui.position,但這是未定義的。JQuery UI Draggable如何獲取拖動開始位置
任何想法?
我可以拖動我的可拖動項目並將它們放在我的droppables上,並從drop事件中獲取 ui.absolutePosition的放置位置。我需要知道拖動從哪個位置開始。 我已經嘗試在拖動啓動事件上獲取ui.position,但是這是空的。我也在拖動事件上嘗試了 ui.position,但這是未定義的。JQuery UI Draggable如何獲取拖動開始位置
任何想法?
你應該可以使用.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());
}
});
所以您可以稍後或也在其他功能.....例如使用
stop: function(event, ui){
Startpos = jQuery(this).data("startPosition");
alert("DragStart : Left("
+ parseInt(Startpos.left)
+ ")Top(" + parseInt(Startpos.top) +")"
);
}
謝謝。保存client.x,client.y給出我需要的。 – WJS 2009-08-13 13:46:45