销毁JQuery draggable

时间:2013-03-21 15:29:23

标签: jquery jquery-ui jquery-ui-draggable

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

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

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

2 个答案:

答案 0 :(得分:12)

来自jQuery UI API:

<强>破坏()

完全删除可拖动功能。这将使元素返回到pre-init状态。

This method does not accept any arguments.

代码示例:

调用destroy方法:

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

修改

因为这似乎对你不起作用 - 这是一个在jQuery论坛上被看到的问题 - 这是一个建议的修复:

ui.draggable.draggable("option", "revert", false);

答案 1 :(得分:0)

您需要在销毁之前进行检查

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

在jQuery> 2.1.0中,它是“用户可拖动的”