2013-09-17 2 views
0

Вот как я переключаюсь между «draggable» и «not draggable». Примечание. self.J содержит правильный объект jQuery.Почему правильный способ переключения перетаскивания в jQuery?

перетаскиваемым:

self.J.logo_arcmarks.draggable('enable'); 

не перетаскиваемым:

self.J.logo_arcmarks.draggable('disable'); 
self.J.logo_arcmarks.draggable('destroy'); // removes CSS from element 

Я получаю эту ошибку:

[08:57:29.422] Error: cannot call methods on draggable prior to initialization; attempted to call method 'enable' @

Нажмите на логотип, чтобы включить и отключить draggability d вы увидите ошибку в консоли.

Ссылка

http://jqueryui.com/draggable/

ответ

2

Вам не нужно писать код для запуска или остановки перетаскивания. Просто позвоните .draggable() на свой объект, и вы сможете его перетащить и отпустить.

Посмотрите это очень простой пример, я сделал: http://jsfiddle.net/fVAnB/

yourObject.draggable(); 
+0

, но я хочу, чтобы оно перестало быть перетаскиваемым. –

+0

Инициализирует «перетаскиваемую» библиотеку. Вызов с помощью «enable» и «disable» предполагает, что вы инициализировали его раньше, поэтому ошибка jQuery UI Draggable вызывает. –

+0

это, фактически работает, но не объясняет, почему другим 8 или около того элементам не понадобилось это исправление. –

0

Сначала вы должны инициализировать перетаскиваемую объект

self.J.logo_arcmarks.draggable(); 

Вы не должны передать аргумент, чтобы включить перетаскиваемый объект, если вы ранее не инициализировали и не отключили его.

Смежные вопросы