Jquery Draggable - PullRequest
       1

Jquery Draggable

0 голосов
/ 31 января 2011

Я использую jquery для перетаскивания некоторых элементов div, и в конце, когда я освобождаю элемент div, я устанавливаю его на фиксированное положение и присваиваю им координаты event.screenX и event.screenY, но этот метод не работает как Как бы я ни хотел, кажется, что координаты имеют какое-то смещение, и я не могу понять, как это пройти. Кто-нибудь может предложить лучшее решение или исправление? Спасибо!

вот демо http://jsfiddle.net/xtGSL/7/ Вы можете видеть, что если переместить окно, просто выпрыгивает из поля зрения, на более крупной странице вы все еще можете увидеть, что смещение составляет около 40px

1 Ответ

2 голосов
/ 31 января 2011

Попробуйте зафиксировать разницу между верхней левой координатой элемента и указателем мыши в начале операции перетаскивания. В конце добавьте эту разницу к положению указателя мыши при настройке положения элемента.

Вы можете зафиксировать положение мыши следующим образом:

$( ".selector" ).draggable({
   start: function(event, ui) {
     // here, event.pageX and event.pageY contain the mouse pointer location
   }
});
...