#jquery #draggable #droppable
#jquery #перетаскиваемый #droppable
Вопрос:
Я создаю страницу с «группами» перетаскиваемых виджетов, и каждый перетаскиваемый файл может быть удален только в одной группе перетаскиваемых файлов.
Я смог добиться этого с помощью следующего кода:
$("div.droppable").droppable({
//accept: ".draggable",
accept: function (draggable) {
if ($(this).attr("question_id") != null) {
if ($(this).attr("question_id") == draggable.attr("question_id")) return true;
}
return false;
});
Однако теперь у меня возникли небольшие проблемы. После удаления я не смог переместить перетаскиваемый файл вокруг перетаскиваемых файлов в той же группе, что и раньше. Я мог бы один раз перенести его в droppable, переместить в другой, но я не мог переместить его обратно в первый droppable.
Кто-нибудь знает, что могло произойти? Приветствуется любой ввод.
Ответ №1:
Понятия не имею, что не удалось в вашем коде. Я создал этот тестовый пример на jsFiddle, который работает должным образом. Как видно из этого тестового примера, я использую .data
для получения идентификатора вопроса.
Я надеюсь, это поможет!
Комментарии:
1. Отлично, это работает. Я использую <идентификатор div=»xxx» question_id=»гггг»> …</div>. Не уверен, почему это не работает таким образом.
2. Приятно слышать! Возможно, вы используете подчеркивание в качестве разделителя. Кроме того, при работе с пользовательскими атрибутами используйте префикс data, поскольку он определен стандартом HTML5 и легко доступен
.data
функцией jQuery. Прочитайте эту статью Джона Ресига по теме.3. Нет, я использую символы подчеркивания как в перетаскиваемых, так и в удаляемых событиях. И спасибо за помощь и ссылку.