0

У меня есть следующий рабочий код:Отключить перетаскивание для каждого элемента с помощью: ЛТ (3) Селектор

$stock.click(function() { 
    $waste.append($stock.children('.container:lt(3)').card('upturn').droppable('disable').css("left", function(i) {return ["0rem", "2rem", "4rem"][i];})); //3 divs 
    }); 

Этот код добавляет несколько классов до 3-х Див, за исключением для CSS. Каждый ДИВ получает другую левую собственность с помощью:

.css("left", function(i) {return ["0rem", "2rem", "4rem"][i];}) 

Это все работает, но я также хочу, чтобы отключить перетаскиваемую опцию в течение первых 2-х Дивов.

Я пробовал такие вещи, как (1):

.draggable('disable', function(i) {return ["true", "true", "false"][i];}) 

и (2)

.draggable(function(i) {return ['disable', 'disable', 'enable'][i];}) 

но попробуйте (1) отключает все 3 дивы, а не только первый 2 и попробовать (2) не работает вообще.

Как я могу это достичь?

Большого спасибо

ответ

1

инвалиды свойства перетаскиваемого виджета устанавливаются с опции методом, и это свойство ожидает логическое значение, от другой стороны CSS метод JQuery принимает функцию в качестве второго параметра но отключить метод или отключен собственности нет. Наилучшим подходом является использование каждый метод итерации по каждому пункту:

.each(function(i){ $(this).draggable("option", "disabled", [false, true, true, false][i]) }); 

jsfiddle

+0

благодаря это работает – Maurice

+0

Добро пожаловать;) – ElChiniNet

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

  • Нет связанных вопросов^_^