Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery'中删除clone和draggable;拖拽_Jquery_Jquery Ui_Jquery Ui Draggable_Jquery Ui Droppable - Fatal编程技术网

在jQuery'中删除clone和draggable;拖拽

在jQuery'中删除clone和draggable;拖拽,jquery,jquery-ui,jquery-ui-draggable,jquery-ui-droppable,Jquery,Jquery Ui,Jquery Ui Draggable,Jquery Ui Droppable,我对jQuery还是比较陌生,有一个问题。我正在尝试实现一种“拖放”方法,用户可以将一个列表中的项目拖放到另一个列表中的“bucket”中。我似乎有拖拉的部分,但有两件事导致了我的错误。首先,我似乎无法删除被拖动的“克隆”,其次,我无法从“可拖动”列表中删除原始项。下面是我的代码(在ASP.Net中呈现后) 我正在使用以下jQuery库: 1.4.2/jquery.js、jquery.ui.core.js jquery.ui.widget.js jquery.ui.mouse.js jquery

我对jQuery还是比较陌生,有一个问题。我正在尝试实现一种“拖放”方法,用户可以将一个列表中的项目拖放到另一个列表中的“bucket”中。我似乎有拖拉的部分,但有两件事导致了我的错误。首先,我似乎无法删除被拖动的“克隆”,其次,我无法从“可拖动”列表中删除原始项。下面是我的代码(在ASP.Net中呈现后)

我正在使用以下jQuery库:

  • 1.4.2/jquery.js、jquery.ui.core.js
  • jquery.ui.widget.js
  • jquery.ui.mouse.js
  • jquery.ui.draggable.js
  • jquery.ui.droppable.js
  • JScript:

        $(function () {
            $(".draggable1").draggable({
                helper:'clone',
                scroll: false,
                revert: "invalid",
                appendTo: '#PopupBody',             
                drag: function(event,ui){              
                }               
    
            });
    
            $(".droppable1").droppable({   
    
                activeClass: "ui-state-hover",
                hoverClass: "ui-state-active",
                drop: function (event, ui) {
                    var drag_id = $(ui.draggable).attr("id");
                    var targetElem = $(this).attr("id");
                    deleteMe = true;            
                  $(this)
                .addClass("ui-state-highlight")
                .find("p")
                .html("Dropped! inside " + targetElem);
                  //destroy clone
                 //remove from list
    
    
                }
            });
        });
    
    HTML:

    
    你好
    废物箱
    
    你能试试这个吗

    $(".droppable1").droppable({   
                activeClass: "ui-state-hover",
                hoverClass: "ui-state-active",
                drop: function (event, ui) {
                    var drag_id = $(ui.draggable).attr("id");
                    var targetElem = $(this).attr("id");
                    deleteMe = true;            
                    $(this)
                      .addClass("ui-state-highlight")
                      .find("p")
                      .html("Dropped! inside " + targetElem);
    
                    $(ui.helper).remove(); //destroy clone
                    $(ui.draggable).remove(); //remove from list    
                }
            });
    

    您可以使用
    drop
    方法中声明的
    ui
    对象访问当前拖动的元素及其克隆。

    您可以添加JSFIDLE或链接吗?我从未使用过JSFIDLE,但会尝试一下。一旦使用,我会发回。谢谢,JSFIDLE似乎没有在IE 8中运行,这是我的代码优化的目的。I你不认为你知道如何制作移除方法的动画,是吗?这可能吗?是的,你可以。但是我现在不能测试它。但是试着玩这个:$(ui.draggable)。动画({opacity:0.4})。移除()。或者转到jQuery的animate()文档。你会从那里学到很多东西:)有没有办法保持ui.helper,因为jQuery会在拖动结束时自动删除它?
    $(".droppable1").droppable({   
                activeClass: "ui-state-hover",
                hoverClass: "ui-state-active",
                drop: function (event, ui) {
                    var drag_id = $(ui.draggable).attr("id");
                    var targetElem = $(this).attr("id");
                    deleteMe = true;            
                    $(this)
                      .addClass("ui-state-highlight")
                      .find("p")
                      .html("Dropped! inside " + targetElem);
    
                    $(ui.helper).remove(); //destroy clone
                    $(ui.draggable).remove(); //remove from list    
                }
            });