2012-10-03 2 views
4
내가 특정 항목을 끌 수 없습니다 JQuery와 UI를 정렬에 문제가 있어요

를 사용하는 경우 제대로 작동하지 끌어JQuery와 UI가 정렬 - 봉쇄

<div class="container"> 
<fieldset> 
    <legend>handle 1 THIS CAN'T BE DRAGGED BELOW HANDLE 2</legend> 
    <div>blah<br /></div> 
</fieldset> 
<fieldset> 
    <legend>handle 2 BUT I CAN DRAG THIS ABOVE HANDLE 1</legend> 
    <div style="display: none">blah<br /></div> 
</fieldset> 
(내가 때문에 항목 요소의 높이를 기반으로 추측)

$(".container").sortable({ 
    axis: 'y', 
    handle: '> legend', 
    containment: 'parent', 
    /*cursorAt: {top: 1}, 
    start: function(event, ui) { 
     ui.placeholder.height(ui.item.height()); 
     $(this).sortable('refreshPositions'); 
    },*/ 
});​ 

http://jsfiddle.net/ADyhR/10/ 편집을 참조하십시오 JQuery와 UI 1.8.9에서 작동하는 것 같다. 1.8.18의 버그입니까?

는 자바 스크립트 라인은 내가 시도했지만 작동하지 않은 것들 주석,하지만 난 그냥 내가 그들을 사용 된 방법에서 약간 벗어날 수 있습니다 생각.

+0

재미는 아래 하나 개의 필드 셋을 경우, 상단 하나 이상을 끌어와 다시 넣어, 아래 하나 마진을 돌려 : 여기

tolerance 옵션을 추가 와 함께 작동 JS 코드 아래에서 위쪽 하나를 당길 수 있지만 버튼을 놓으면 마진이 이전 상태로 돌아가고 다시 아래로 이동할 수 없습니다. – vittore

+0

는 드래그 가능한 버그입니다 – vittore

답변

0

당신은 tolerance 옵션을 사용 tolerance: "pointer",에 그 값을 설정할 수 있습니다. 귀하의 데모를 업데이트하고 NEW DEMO을 만들었습니다.

$(".container").sortable({ 
    axis: 'y', 
    tolerance: "pointer", 
    handle: '> legend', 
    containment: 'parent', 
    /*cursorAt: {top: 1}, 
    start: function(event, ui) { 
     ui.placeholder.height(ui.item.height()); 
     $(this).sortable('refreshPositions'); 
    },*/ 
});