«отмена» не является действительным методом для перетаскиваемого виджета.
Лучший способ отменить событие перетаскивания - вернуть false
из обработчика события drag
. Вы можете сделать это, основываясь на каком-то условии, которое вы установили в зависимости от происходящего события:
$("#draggable").draggable({
drag: function() {
if ($(this).hasClass("cancel")) {
return false;
}
}
});
Так что вы бы применили класс cancel
, чтобы остановить перетаскивание.
Вот небольшой пример, в котором я установил таймер, который заставляет элемент перестать быть перетаскиваемым через 5 секунд: http://jsfiddle.net/andrewwhitaker/y2yrA/1/