У меня странная проблема с использованием jQuery UI Draggable и настройкой пользовательских данных.
Мой код:
$('.drag')
.data('foo', 'bar')
.draggable({
stop: function(event, ui) {
var foo = $(this).data('foo');
alert(foo); // alerts 'undefined'
}
});
Кажется, что теряется все, что происходит при перетаскивании (console.log'ing $ (this) .data внутри stop () показывает пустой объект).
Есть идеи?
EDIT:
Глупо, глупо, я выполнял функцию $ (ui.draggable) .remove () внутри функции удаления объекта перетаскивания, в который перетаскивал объект, поэтому объект был удален до того, как он смог получить какие-либо данные. Вы могли бы подумать, что событие stop'а перетаскиваемого объекта будет вызвано перед событием dropbable «drop» ...