jQuery Отключить / Включить состояние Droppable / Draggable - PullRequest
0 голосов
/ 19 ноября 2009

Я устал объяснять это вчера, но я не думаю, что люди поняли это. Я разместил код и пример на http://www.whatevercorp.com/problem/

Я давно не работал с jQuery, но мне везде нужен поиск примера отключения («включения») / отключения или способа изменения статуса сброса на лету.

В основном у меня есть 2 вопроса:

  1. Как я могу изменить или ограничить класс .drop, чтобы принимать только 1 элемент в div Если вы посмотрите на пример (whatcorp.com/problem/), вы увидите, что вы можете бросить 2 элемента в div, и это будет забавно. Я просто хочу ограничить это, так как это галерея фотографий.

  2. Как я могу отследить все предметы, которые можно найти в таблице. Я хочу, чтобы пользователи могли перемещать их, как только они уронят их в ящики, а также отслеживать каждый ход. Я посмотрел в сериализации, но нужны некоторые указатели.

Надеюсь, это прояснит ситуацию, и я смогу запустить и запустить этот инструмент. Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 19 ноября 2009

Чтобы не допустить попадания нескольких изображений в один div.drop, попробуйте следующее:

$(".drop").droppable({
    accept: ".photo",
    activeClass: 'droppable-active',
    hoverClass: 'droppable-hover',
    drop: function(ev, ui) {
        //returning false will cancel the drop
        if ($(this).children('img').length > 0) return false;

        $(this).append(ui.draggable);   
        $('#output').append($(ui.draggable).attr('src')+"<br />");              
        $('#output').append($(this).attr("id")+"<br />");
    }
});

Чтобы отслеживать их ходы, вам, вероятно, придется работать с глобальной переменной, которая устанавливается внутри этой функции перетаскивания выше.

...