【问题标题】:In jQueryUI sortable widget, how can you perform a cancel operation in the start method在 jQueryUI 可排序小部件中,如何在 start 方法中执行取消操作
【发布时间】:2013-09-20 16:44:30
【问题描述】:

当您尝试在 start 方法中执行取消操作时,jQueryUI 可排序小部件会引发异常(this.helper 为 null)。这是一个插图:

$('#sort').sortable({
    start: function() {        
        $(this).sortable('cancel'); //cancel operation. Causes an exception (this.helper = null)
    }
});

查看这个 jsfiddle 以获取实时代码示例

http://jsfiddle.net/9Ke8q/1/

是否有任何解决方法可以在 jQueryUI 可排序小部件的开始菜单中使用取消选项?

【问题讨论】:

  • 为什么要在启动功能中取消呢?你不能使用停止或接收吗?你能详细说明原因吗?
  • @IrvinDomininakaEdward 我排除了我正在使用的实际代码,它可以充分说明您的问题,以保持问题的重点。如果不应该重新排序,我不希望发生重新排序(如果我将取消添加到停止或接收方法中)。否则,我对 Knockout.js 的使用会不同步。这就是为什么我需要取消开始(防止重新排序发生)或者如果可能更早。这回答了你的问题吗?
  • 您想在运行时还原它,或者某些可排序的必须始终不可排序?
  • @IrvinDomininakaEdward 某些项目不能排序。不幸的是,选择要包含的项目存在一个问题,即可以选择排除的项目并将其用于移动整个父 UL(而不仅仅是 LI)。这可能是由于排除项是包含项的子项。无论如何,这很奇怪,无法接受。这就是为什么我首先要阻止移动。

标签: javascript jquery-ui jquery-plugins jquery-ui-sortable


【解决方案1】:

答案是,如果您阅读 jQuery UI 文档,取消操作仅在停止和接收事件上受支持。基本上,一旦用户开始拖动,在将项目拖放到新位置之前,您无法恢复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2021-11-25
    • 2021-07-06
    • 1970-01-01
    • 2020-06-02
    相关资源
    最近更新 更多