11

我有一组可拖动的元素。如何删除可拖动功能?

  1. $('.draggable').draggable('disable')在我的情况下不是一个选择

  2. $('.draggable').draggable('destroy')返回Uncaught TypeError: Cannot read property 'options' of undefined

4

2 回答 2

13

来自 jQuery UI API:

破坏()

完全删除可拖动功能。这将使元素返回到它的预初始化状态。

This method does not accept any arguments.

代码示例:

调用销毁方法:

$( ".selector" ).draggable( "destroy" );

编辑

由于这似乎对您不起作用 - 这是一个在 jQuery 论坛上到处可见的问题 - 这是一个建议的修复:

ui.draggable.draggable("option", "revert", false);
于 2013-03-21T15:33:47.923 回答
0

你需要在销毁之前检查

if ($el.data('ui-draggable')) { // error to call destroy if not there
  $el.draggable('destroy');
}

在 jQuery >2.1.0 中它是“ui-draggable”

于 2020-03-30T07:38:58.700 回答