2012-06-07 2 views
0

Я отключаю некоторые перетаскиваемые элементы «li», а затем пытаюсь включить элемент «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отключить. Позже вы удаляете отключить от одного элемента. Поскольку он никогда не стал функциональностью, его нельзя перетаскивать.

Сначала сделайте все li перетаскиваемым, то вы должны использовать enable и disable метод из draggable:

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

Если вы хотите включить один:

toTest.draggable('enable'); 

Также см this example.

+0

Извинения, я обновил свой вопрос, чтобы включить «disable» css whitin в элементе li. Ваш ответ по-прежнему действителен? –

+0

Да, вы добавляете перетаскиваемую функциональность только к некоторым элементам .myli (которые не отключены для класса). Добавление или удаление класса не изменило это. – scessor

+0

Извините, мне пришлось изменить javascript. Теперь это должно сработать. – scessor

Смежные вопросы