Po spustení tohto kódu sa zobrazí pole „Presunúť“me Down “, musím ju potiahnuť nadol, aby som vytvoril ďalšiu kópiu (zakaždým, keď ju potiahnem) z toho istého políčka bez ovplyvnenia pôvodného políčka. Aké zmeny by som mal urobiť vo svojom kóde, aby som získal požadovaný výsledok, ako je opísané vyššie.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Draggable + Sortable</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
ul { list-style-type: none; margin: 0; padding: 0; margin-bottom: 10px; }
li { margin: 5px; padding: 5px; width: 150px; }
</style>
<script>
$(function() {
$( "#sortable" ).sortable({
revert: "true",
helper:"clone"
});
$( "#sortable" ).draggable({
//connectToSortable: "#sortable",
helper: "clone",
revert: "valid"
//var dra = jQuery.extend({}, draggable)
});
//$( "ul, li" ).disableSelection();
});
</script>
</head>
<body>
<ul>
<li id="sortable" class="ui-state-highlight">Drag me down</li>
</ul>
</body>
</html>
odpovede:
0 pre odpoveď č. 1Môžete použiť jQuery .clone()
funkcie na dosiahnutie toho, čo chcete.
Zmenený kód
$(function() {
$( "#sortable" ).sortable({
revert: "true",
helper:"clone"
});
$( "#sortable" ).draggable({
//connectToSortable: "#sortable",
helper: "clone",
revert: "valid",
stop:function(){
$(this).clone().appendTo("body");
}
//var dra = jQuery.extend({}, draggable)
});
//$( "ul, li" ).disableSelection();
});