2012-07-16 4 views
2

drappable 요소가 있는데, 나는 다양한 droppable 영역 중 하나로 드래그하고 있습니다. 그러나 drableable 영역으로 드래그 된 경우에도 드래그 가능한 항목은 으로 항상으로 원래대로 돌아갑니다 (drappable 영역은 드래그 가능 항목이 드래그 될 때 자체 이벤트를 처리합니다). 이것을 할 수있는 방법이 있습니까?jQueryUI - drappable으로 떨어 뜨린 후에도 원래 위치로 draggable 이동하기

draggable의 stop() 함수에서 true 또는 false를 반환하면 원래 위치로 돌아가고 droppable의 drop() 함수가 트리거되는지 여부에 영향을줍니다. 별도로 처리 할 수있는 방법이 있습니까?

+0

droppable 요소의 drop 이벤트에서 false를 반환하면 어떻게됩니까? – jeschafe

+0

이것은 아무런 영향을 미치지 않습니다. draggable의 stop() 끝까지 추가하면 호출 후에 draggable이 움직이지 않게됩니다. – theeggman85

답변

12

그것은 일종의 해킹하지만 당신이 때 떨어지거나하지 않을 경우

$('yourelement').draggable({revert:true}); 

이 그것을 상관없이 돌아갑니다 . 그리고 그것은 여전히 ​​droppable 요소에서 드롭 이벤트를 발생시킵니다.

+0

정확히 내가 뭘 찾고 있었는지, 고마워! – theeggman85

+0

나는 이것이 '해킹'이라고 생각하지 않는다. jQuery 예제에서이 작업을 수행하는 방법입니다 : https://jqueryui.com/draggable/#revert – stack247

0

droppables에서 다른 요소를 허용 하시겠습니까? 그렇지 않다면, 당신은 '거짓'에 낙하 할의 '동의'옵션을 설정할 수 있습니다

$('.foo').droppable('option','accept',false); 
+0

이것은 draggable을 반환하기 위해 작동하지만, 명백한 이유 때문에 그 후에 drop()을 호출하지 않습니다. 그 문제를 해결할 방법이 있습니까? – theeggman85

관련 문제