2011-11-12 2 views
5

간단히 말해, 그리드와 함께 드래그 가능한 드래그 가능한 항목에 대해 '유효하지 않음'을 설정하면 정확히 동일하게 돌아 가지 않습니다 당신이 그들을 끌기 시작한 장소. 그들은 당신이 그들을 끌기 시작했던 곳 근처의 장소로 돌아 간다. .. 매우 별났다.되돌리기 '잘못된'그리드가 jQuery UI로 시작 위치로 돌아 가지 않음 Draggable

이것은 UI의 버그 일 수 있습니다. 그렇다면 해결 방법이 있는지 누구나 알고 있습니까?

예 : http://jsfiddle.net/n2AUv/11/

감사합니다! John.

+0

모든 것이 '그리드'또는 '되돌리기'로 현명하게 작동하지만 둘 다 가지고있을 때는 모든 감각이 사라집니다. 그것이 반환하는 위치는 무작위로 보인다. 우리는 똑같은 말도 안되는 것을보고 있습니까? –

+0

그것은 내가보기에 .. 내 프로젝트를위한 약간의 쇼 스토퍼로서 실망 스럽다. –

+0

나는 그것을 버그라고 부르며 버그보고를한다. 현재의 행동은 전혀 이해가되지 않는다. 엘리먼트를 떨어 뜨렸을 때 엘리먼트를 다시 부모가 될 수 있습니까? 그건 도움이 될 수 있습니다, 부정적인 오프셋 (귀하의 DOM 검사기를 사용하고 그들을 볼 수 있습니다) 뭔가 혼란 스러울 수도 있습니다. –

답변

1

grid option documentation는 말한다 :

그리드에

스냅 드래그 도우미, 모든 x와 y 픽셀.

따라서은 일부 종류의 도우미와 함께 사용하도록 설계되었습니다. 그리고 실제로는 helper: "clone"을 사용하면 모든 인스턴스가 정상적으로 작동하고 원래 인스턴스 근처에 도우미가 반환됩니다.

예, UI의 버그처럼 보입니다. 하지만 해결 방법이있다 : use helper for dragging :

$(".dragme").draggable({ 
    revert: true, 
    helper: "clone", 
    grid: [50,50] 
}); 

이 해결 방법은 다른 이상한 버그를 소개합니다 : 낙하 할 영역 도우미에 유효한 강하가 파괴됩니다 원래 인스턴스가의 장소에 존재하는 후 (당신이 fiddle에서 그것을 볼 수 있습니다).

draggable에 대해이 버그가 해결되어 connectToSortable 옵션이 있습니다. 아마 당신의 경우에도 버그를 해결할 수 있습니다.

또한 나는 전체적인 혼란이 this chunk of code (draggable)이기 때문에 의심 스럽습니다.

+1

@John Hunt 도움이된다면 끌어 놓은 요소를 놓기 대상 div (절대 위치 지정 사용)의 올바른 위치에 올바르게 배치하는 yko의 코드를 조정할 수 있습니다. http://jsfiddle.net/greglockwood/EBHWr/ – GregL

+0

@ GregL 아주 좋아. 나는 실제로 'drop'이 어떤 드롭에 대해서만 트리거 될뿐만 아니라 유효하다고 생각했다. 내 솔루션이 너와 결합 된 것 같아이 문제를 해결할 수있다. 내 대답에 함께 결합해도 괜찮습니까? – yko

+0

전혀 아닙니다. 그것은 당신의 대답을 가지고 그것으로 달리는 것이 재미있었습니다. 너는 현상금을 나눌 수 없다, 너? :-) – GregL