我有一组可拖动的元素。如何取消它们的可拖动功能?
在我的情况下,
$('.draggable').draggable('disable')
不能使用。$('.draggable').draggable('destroy')
会返回Uncaught TypeError: Cannot read property 'options' of undefined
。
我有一组可拖动的元素。如何取消它们的可拖动功能?
在我的情况下,$('.draggable').draggable('disable')
不能使用。
$('.draggable').draggable('destroy')
会返回Uncaught TypeError: Cannot read property 'options' of undefined
。
来自jQuery UI API:
destroy()
完全删除可拖动功能。这将使元素返回到其初始状态。
This method does not accept any arguments.
代码示例:
调用 destroy 方法:
$( ".selector" ).draggable( "destroy" );
编辑
由于似乎无法正常工作,并且这是jQuery论坛中普遍存在的问题,以下是建议的修复方法:
ui.draggable.draggable("option", "revert", false);
$(".selector").draggable.draggable("option", "revert", false);
不起作用... 我有什么遗漏吗? - Imran Bughio$(".selector")
与ui
不同,请检查您的代码。 - emerson.mariniui
,我会得到 Uncaught ReferenceError: ui is not defined(…)
的错误。 - Imran Bughio在销毁之前需要进行检查
if ($el.data('ui-draggable')) { // error to call destroy if not there
$el.draggable('destroy');
}