Quiero ser capaz de arrastrar y soltar repetidamente el mismo elemento fuente.jquery elemento arrastrable ya no se puede arrastrar después de la caída
En el momento en que se arrastra una imagen, se clona con éxito, es decir, la imagen original permanece y el clon cae suavemente en su nuevo lugar, pero la imagen anterior ya no se puede arrastrar. Inspeccionar el elemento muestra class
como un atributo (sin valor), por ejemplo, no class="ui-draggable"
Como verás he tratado de volver a habilitar la capacidad de arrastre en el original después de la clonación, pero no está funcionando.
Aquí está el código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
<title></title>
<script language="javascript" type="text/javascript">
var copy = 0;
var dragOptions = {
helper: 'clone',
cursor: 'hand',
revert: 'invalid'
};
$(document).ready(function() {
$("img").draggable(dragOptions);
$("ul#bag > li").droppable({
drop: function (event, ui) {
copy++;
var clone = $(ui.draggable).clone().attr("id", "img_" + copy);
$(this).append(clone);
clone.css("left", 0).css("top", 0);
$(ui.draggable).draggable(dragOptions);
}
});
});
</script>
<style type="text/css">
li
{
position: relative;
float: left;
}
img
{
cursor: move;
}
div, li
{
display: block;
width: 160px;
height: 123px;
margin: 2px;
border: solid 1px gray
}
.clear
{
clear: both;
}
</style>
</head>
<body>
<ul id="bag">
<li></li>
<li></li>
<li></li>
</ul>
<ul id="shop">
<li><img id="img1" src="images/p1.jpg" /></li>
<li><img id="img2" src="images/p2.jpg" /></li>
<li><img id="img3" src="images/p3.jpg" /></li>
</ul>
<div class="clear" id="dustbin" style="background-color:Black;"></div>
</body>
</html>
Gracias por encontrar una solución. – Couto
Esto no cambió nada para mí, de hecho, algunas pruebas simples muestran que el método de destrucción nunca se llama en caída. –