嘗試使用.draggable("destroy")
代替。我用它很好。
您可以在jqueryUI Draggable destroy
更新
對不起,我想你的問題是別的東西查看這個方法,所有其他方法,選項和事件。你需要做的是改變你的方法,因爲從DOM中刪除元素實際上與draggable
元素無關。你需要將你的可拖動元素封裝成一個元素,例如一個與拖動元素相同高度和寬度的div,然後只要按照你的意願銷燬拖動元素。
HTML:
<div id="conteiner">
<div class="dragConteiner"><div id="draggable1" class="draggable"></div></div>
<div class="dragConteiner"><div id="draggable2" class="draggable"></div></div>
<div class="dragConteiner"><div id="draggable3" class="draggable"></div></div>
</div>
的jQuery:
$(function(){
$("#draggable1").draggable();
$("#draggable2").draggable();
$("#draggable3").draggable();
$("#draggable2").on('mouseup',function(){
alert('bye draggable!');
$(this).draggable('destroy');
//in case you like to use if after
//$(this).hide();
//as in your code
$(this).remove();
})
})
CSS:
.draggable{
height:50px;
width:50px;
background: green;
}
.dragConteiner{
height:50px;
width:50px;
margin-top:5px;
}
#conteiner{
margin-top:25px;
margin-left:25px;
}
一個jsfiddle例如
按照這個答案:http://stackoverflow.com/a/22432224/471441,只要確保在調用'draggable'之前將它們添加到DOM就足夠了。 – jonny 2014-11-24 20:59:24