【发布时间】:2012-01-16 15:00:58
【问题描述】:
我有 3 个可以拖动到垃圾桶图像的 Div。一旦用户释放鼠标,Div 就会被放下,否则它会恢复到原来的位置,这是我的代码:
<div id="draggables">
<div id="d1">
<header>A</header>
</div>
<div id="d2">
<header>B</header>
</div>
<div id="d3">
<header>C</header>
</div>
</div>
<img src="trash.jpg" id="trash" class="semitransparent" />
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script>
<script>
$(function(){
// draggables...
$("#d1,#d2,#d3").draggable({
revert:"invalid"
});
$("#trash").droppable({
activeClass:"opaque",
drop: function(event, ui){
ui.draggable.fadeOut(function(){
ui.draggable.remove();
});
}
});
});
我还将 activeClass 应用于垃圾桶的图像,以便用户意识到他们可以拖动/功能处于活动状态。但是,我想扩展我的代码,以便在删除 Div 时将其恢复到“可拖动” Div 中的原始位置。我不确定是在可拖动元素上还是在函数内使用辅助克隆以某种方式附加到“可拖动”Div。有人有建议吗?有没有像ui.draggable.restore();这样的方法可以使用?
如果我的措辞不好,请告诉我,我会重新提出问题。
【问题讨论】: