2012-06-07 64 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