首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery droppable live禁用/启用

Jquery droppable live禁用/启用
EN

Stack Overflow用户
提问于 2010-05-24 22:43:28
回答 2查看 12.7K关注 0票数 4

我在可拖放的列表中有一些可拖放的(每个可拖放的li有1个可拖放的)。

当我将一个可拖放对象从一个可拖放对象移动到另一个可自由拖放对象时,我希望删除接收可拖放对象,并启用它所离开的可拖放对象。

在firebug中,droppable类被移除了--但是droppable的功能仍然存在。我感觉我需要以某种方式使用live(),但可以使用一个辅助工具。

代码语言:javascript
复制
$(function() {
$(".user").draggable({
  revert          : true, 
  revertDuration  : 200
});


  $("li.droppable").droppable({
    accept      : ".user",
    hoverClass  : "drophover",
    drop: function(event, ui) {
      var position  = this.getAttribute("id").replace("position_", ""),
        user_id = ui.draggable.attr("id").replace("user_", "");
        droppable = this
        parent    = ui.draggable.parent()
      $.ajax({
        url   : "users/"+user_id+"",
        type  : "POST",
        dataType: "JSON",
        data  : ({
          "position"  : position,
          "_method"   : "PUT"
        }),
        success : function() {
          $(ui.draggable).parent().addClass("droppable");
          $(ui.draggable).appendTo(droppable);
          $(parent).removeClass("droppable");
        }
      });
    }
  });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-24 22:55:43

您可以通过设置“disabled”选项来启用/禁用droppables,而不是删除droppable类。

代码语言:javascript
复制
    success : function() {
      $(ui.draggable).parent().droppable( "option", "disabled", false );
      $(ui.draggable).appendTo(droppable);
      $(parent).droppable( "option", "disabled", true );
    }

http://docs.jquery.com/UI/Droppable#option-disabled

票数 8
EN

Stack Overflow用户

发布于 2010-05-24 22:57:53

与其更改类,不如尝试设置选项?$(ui.draggable).parent().droppable();

$(ui.draggable).parent().droppable('option', 'disabled', true)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2897799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档