jQuery UI Draggables - изменить позицию возврата? - PullRequest
0 голосов
/ 15 июля 2009

Можно ли редактировать позицию возврата помощника перетаскивания пользовательского интерфейса jQuery? Например, у меня есть значки, которые пользователь может щелкнуть и перетащить в группы на странице. Когда пользователь щелкает значок и начинает перетаскивать, под его курсором появляется вспомогательное сообщение, которое следует за курсором, пока он продолжает удерживать нажатой кнопку. Если помощник попадает в группу, он исчезает. Если помощник не помещен в группу, он возвращается в исходное положение, используя revert: 'invalid'. У меня вопрос, могу ли я отредактировать эту исходную позицию помощника? Кажется, он всегда возвращается к абсолютной позиции слева: 0 и сверху: 0, но я не могу понять, как редактировать эти значения. Мне нужно отредактировать позицию возврата, чтобы она была примерно на 300 пикселей больше влево.

1 Ответ

0 голосов
/ 10 января 2010

Вы можете попробовать переместить перетаскиваемый элемент после начала перетаскивания, когда отпущенный элемент вернется в исходное положение, а затем перейдет на новое положение - я не понял, как обойти это, но этот метод работает

$(document).ready(function(){
 $(".dragMe").draggable({
  helper : 'clone',
  revert : true,
  start: function(e,ui){
   // when starting the drag, reposition the element
   $(this).hide().css({ position: 'relative', left: '-300px', top: 0 });
  },
  stop: function(e,ui){
   $(this).show();
  }
 });
 $("#dropBox").droppable({
  drop: function(e, ui) {
   ui.draggable.appendTo($(this)).show()
    // reset the position of the element to zero (so it fits in the drop box)
    .css({ position: 'relative', left: 0 })
   ui.helper.remove();
  }
 });
})
...