Подтвердить что ты не робот

Включить и отключить jquery draggable

Ive попробовал что-нибудь сделать, но всегда получаю ту же ошибку

$(".tooltip").draggable('disable');

Ошибка: невозможно вызвать методы перетаскивания до инициализации; попытался вызвать метод "disable"

До инициализации? Таким образом, я не могу удалить этот параметр до того, как его фактически перетащит? Ive попробовал с droppable, а can not, похоже, отключил их, не получив эту ошибку.

изменить: Я узнал, что у меня есть элемент с классом, который не перетаскивается (что имеет смысл, когда вы смотрите на ошибку). Теперь мне просто нужно найти способ, чтобы он отключил все перетаскиваемые объекты, не выбрасывая ошибку:)

4b9b3361

Ответ 1

Попробуйте следующее:

$(".tooltip").draggable({ disabled: true });

Это инициализирует перетаскивание в отключенном состоянии. Затем вы можете использовать

$(".tooltip").draggable("enable");

позже, когда вы хотите разрешить перетаскивание.

Ответ 2

Я смог восстановить ваш сценарий в этом jsfiddle:

http://jsfiddle.net/dboots/NDZKY/

Это используется

$('.draggable').draggable('disable');

и

$('.draggable').draggable('enable');

Есть ли что-то другое, что вы не можете сделать то же самое? Похоже, у вас такой же синтаксис.

Ответ 4

Используйте одну кнопку для включить и отключить

$("#container").draggable({disabled:false});
$("#container").draggable({disabled:true});

Простой пример ниже:

<div id = "container"></div>
<button id = "control"></button>
<script>
  $(document).ready(function()
    {
       $("#control").click(function()
          {
            if($("#control").hasClass("active")
              {
                $("container").draggable({disabled:true});
                $("control").removeAttr("class","active");   
              }
            else
              {
                $("container").draggable({disabled:false});
                $("control").attr("class","active");
              }
          });
    });
</script> 

Ответ 5

попробуйте использовать .unbind('ondrag'), чтобы удалить событие из вашего элемента.

Извините, я думаю, что это должно быть $( "tooltip" ). unbind ('draggable') не 100% уверен в имени события.