【问题标题】:Destroy JQuery draggable销毁可拖动的 JQuery
【发布时间】:2013-03-21 15:29:23
【问题描述】:

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

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

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

【问题讨论】:

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


【解决方案1】:

来自 jQuery UI API:

destroy()

完全删除可拖动功能。这会将元素返回到其初始化前的状态。

This method does not accept any arguments.

代码示例:

调用销毁方法:

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

编辑

因为这对你来说似乎不能正常工作 - 这是一个在 jQuery 论坛上到处可见的问题 - 这是一个建议的修复:

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

【讨论】:

  • 来自我的问题:“$('.draggable').draggable('destroy') 返回 Uncaught TypeError: Cannot read property 'options' of undefined”
  • 很抱歉在发布之前没有正确阅读它。我已经编辑了我的答案。
  • $(".selector").draggable.draggable("option", "revert", false); 不工作...我错过了什么吗?
  • @ImranBughio,$(".selector") 与此处的ui 不同。请检查您的代码。
  • 如果我尝试ui,我会得到Uncaught ReferenceError: ui is not defined(…)
【解决方案2】:

你需要在销毁前检查

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

在 jQuery >2.1.0 中它是 'ui-draggable'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多