您是否需要为每个可拖动元素指定不同的名称?我有3个图像,我希望能够拖动它们。我试图给他们所有相同的ID,但它失败了。我将拥有可变数量的图像,所以我需要它们都具有相同的ID。这里出了什么问题?
这是我的代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
#draggable { width: 150px; height: 150px; padding: 0.5em; border:1px solid black;}
</style>
<script>
$(document).ready(function(){
$("#draggable").draggable();
});
</script>
</head>
<body>
<img id="draggable" src="small/Koala.jpg"/>
<img id="draggable" src="small/Desert.jpg"/>
<img id="draggable" src="small/Tulips.jpg"/>
</body>
</html>
现在它不会克隆 - 我想克隆图像并将克隆放入可放置框中。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Wall Builder</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
.draggable { width: 85px; height: 85px; padding: 0.5em; border:1px solid black;}
.droppable { width: 150px; height: 150px; padding: 0.5em; border:1px solid black;}
</style>
<script>
$(document).ready(function() {
$(".draggable").draggable({
revert: "invalid"
,helper: 'clone'
});
$( ".droppable" ).droppable({
accept: "draggable"
});
});
</script>
</head>
<body>
<img class="draggable" id="1" src="small/Koala.jpg"/>
<img class="draggable" id="2" src="small/Desert.jpg"/>
<img class="draggable" id="3" src="small/Tulips.jpg"/>
<div class="droppable" id="d1"></div>
<div class="droppable" id="d2"></div>
<div class="droppable" id="d3"></div>
<div class="droppable" id="d4"></div>
<div class="droppable" id="d5"></div>
</body>
</html>
答案 0 :(得分:2)
您需要为它们提供不同的ID,然后按类选择。 id的要点是不同的,如果有重复,jQuery将只选择它找到的第一个。
类似的东西:
<script>
$(document).ready(function(){
$(".draggable").draggable();
});
</script>
</head>
<body>
<img class="draggable" src="small/Koala.jpg"/>
<img class="draggable" src="small/Desert.jpg"/>
<img class="draggable" src="small/Tulips.jpg"/>
</body>
</html>
(听起来您可能想要阅读the difference between ids and classes)