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