Jquery UI, как я могу сделать так, чтобы перетаскиваемый всегда возвращался?

#javascript #jquery #jquery-ui

#javascript #jquery #jquery-ui

Вопрос:

Я искал этот ответ часами, но не могу его найти.

Я использую Jquery UI, и я хотел бы ВСЕГДА возвращаться в исходное положение, если оно сброшено или нет.

Если он удален, я бы хотел, чтобы он выполнил следующий код: ‘alert($ (ui.draggable).attr(«id»));’

Я знаю, что этот ответ, вероятно, очень прост, однако я борюсь. Большое вам спасибо за просмотр.

Ответ №1:

Вы можете использовать опцию revert и установить для нее значение true, а также функцию обратного вызова handle и делать там то, что вы хотите

 $("#myDraggable").draggable({
    revert: true
});

$("#myDroppable").droppable({
    drop: function(event, ui){
        alert($(ui.draggable).attr("id"));
    }
});
  

Я не уверен, что эти два будут работать вместе, но вы можете попробовать! Под этим я подразумеваю, что если для параметра revert установлено значение true, я не уверен, будет ли когда-либо вызван обработчик удаления.

Комментарии:

1. Я пробовал это раньше, но это не сработало. Он будет прилипать к удаляемому. Спасибо за ответ.

2. О, я кое-как заставил это работать, я не могу поверить, что пропустил это. Большое спасибо.

3. Это работает, однако оно возвращается только тогда, когда я отбрасываю его в droppable, однако оно не возвращается ни в какой другой ситуации.

4. Есть идеи? Мне нужна комбинация revert: «действительный» и revert: «недействительный»;

5. Я думал, что это то, что должен был делать revert: true.