2012-06-07 63 views
0

我禁用了一些'li'可拖动元素,然后尝试启用基于它的id和class的'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

道歉,我已经更新了我的问题,包括'禁用'css白皮书li元素。你的答案仍然有效吗? –

+0

是的,您只需将可拖动功能添加到所有.myli元素(其中没有禁用类)中的一部分。添加或删除类不会改变这一点。 – scessor

+0

对不起,我不得不改变javascript。现在它应该工作。 – scessor