2012-06-07 3 views
0

'li'드래그 가능한 요소를 비활성화 한 다음 해당 ID 및 클래스를 기반으로 'li'요소를 활성화하려고합니다. 클래스가 제거되었지만 li 요소가 여전히 드래그 가능하지 않습니까?드래그 가능한 요소 활성화 및 비활성화

//Disabling draggable on li elements using 'not' 
$(".myLi:not(.disable)").sortable({ 
revert : true, 
}).draggable({ 
helper : "clone"     
} 
}); 

<li id="test" class="myLi disable" >Li Point1</li> 

var toTest = $('#test'); 

//Enabling li element to draggable again using id and class 
toTest.removeClass('disable'); 

답변

5

먼저 만 classmyli와 요소에 드래그 기능을 추가 있지만 class비활성화 있습니다. 나중에 하나의 요소에서 class을 비활성화 해제하십시오. 기능이 된 적이 없기 때문에 드래그 할 수 없습니다.

먼저 모든 li 드래그, 당신은 draggable에서 enabledisable 방법을 사용해야합니다

$(".myLi").sortable(...).draggable(...); 
$(".myLi.disable").draggable('disable'); 

하나를 사용하려면 :

toTest.draggable('enable'); 

또한 this example를 참조하십시오.

+0

죄송합니다. 저는 li 항목에 '사용 안함'CSS를 포함하도록 제 질문을 업데이트했습니다. 당신의 대답은 여전히 ​​유효합니까? –

+0

예, 모든 .myli 요소 (클래스가 비활성화되어 있지 않음) 중 일부에만 드래그 가능한 기능을 추가합니다. 클래스를 추가하거나 제거해도 변경되지 않습니다. – scessor

+0

죄송합니다, 자바 스크립트를 변경해야했습니다. 이제는 효과가 있습니다. – scessor

관련 문제