Как отключить перетаскивание jQuery, например, во время обратной передачи UpdatePanel?
99
Можно создать функцию DisableDrag (myObject) и EnableDrag (myObject)
myObject.draggable( 'disable' )
затем
myObject.draggable( 'enable' )
Чтобы временно отключить перетаскиваемое поведение, используйте:
Чтобы навсегда удалить перетаскиваемое поведение, используйте:
источник
Чтобы включить / отключить перетаскивание в jQuery, я использовал:
Ответ @Calciphus не помог мне с проблемой непрозрачности, поэтому я использовал:
Работал и на мобильных устройствах.
Вот код: http://jsfiddle.net/nn5aL/1/
включитьотключитьперетаскиваемыйjqueryнепрозрачностьпроблемаhtml
источник
button()
но это не помогло.Мне потребовалось некоторое время, чтобы выяснить, как отключить перетаскивание при отпускании - используйте
ui.draggable
для ссылки на объект, который перетаскивается изнутри функции перетаскивания:HTH кто-то
источник
Похоже, никто не смотрел исходную документацию. Может, тогда и не было))
Инициализируйте перетаскиваемый объект с указанным отключенным параметром.
Получить или установить отключенную опцию после запуска.
источник
В случае диалогового окна у него есть свойство draggable, установите для него значение false.
Несмотря на то, что вопрос старый, я попробовал предложенное решение, и оно не сработало для диалога. Надеюсь, это поможет другим, как я.
источник
Вот как это будет выглядеть внутри
.draggable({});
источник
У меня есть более простое и элегантное решение, которое не портит классы, стили, непрозрачность и прочее.
Для перетаскиваемого элемента вы добавляете событие start, которое будет выполняться каждый раз, когда вы пытаетесь куда-то переместить элемент. У вас будет условие, движение которого не разрешено. Для незаконных ходов - предотвратить их с помощью 'e.preventDefault ();' как в коде ниже.
Добро пожаловать :)
источник
Изменить
draggable
атрибут ск
источник