Включить и отключить jquery draggable
Ive попробовал что-нибудь сделать, но всегда получаю ту же ошибку
$(".tooltip").draggable('disable');
Ошибка: невозможно вызвать методы перетаскивания до инициализации; попытался вызвать метод "disable"
До инициализации? Таким образом, я не могу удалить этот параметр до того, как его фактически перетащит? Ive попробовал с droppable, а can not, похоже, отключил их, не получив эту ошибку.
изменить:
Я узнал, что у меня есть элемент с классом, который не перетаскивается (что имеет смысл, когда вы смотрите на ошибку). Теперь мне просто нужно найти способ, чтобы он отключил все перетаскиваемые объекты, не выбрасывая ошибку:)
Ответы
Ответ 1
Попробуйте следующее:
$(".tooltip").draggable({ disabled: true });
Это инициализирует перетаскивание в отключенном состоянии. Затем вы можете использовать
$(".tooltip").draggable("enable");
позже, когда вы хотите разрешить перетаскивание.
Ответ 2
Я смог восстановить ваш сценарий в этом jsfiddle:
http://jsfiddle.net/dboots/NDZKY/
Это используется
$('.draggable').draggable('disable');
и
$('.draggable').draggable('enable');
Есть ли что-то другое, что вы не можете сделать то же самое? Похоже, у вас такой же синтаксис.
Ответ 3
Взгляните на документацию http://api.jqueryui.com/draggable/
и пример:
http://jqueryui.com/draggable/
Вы включили "библиотеку jquery-ui.js?"
попробуйте эту скрипку! http://jsfiddle.net/3Lrg2/23/
Ответ 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% уверен в имени события.