.draggable("destroy")
代わりに使用してみてください。私はそれをうまく使用しました。
このメソッドと他のすべてのメソッド、オプション、イベントはjqueryUIDraggabledestroyで表示できます
アップデート
申し訳ありませんが、あなたの問題は別のものだと思いました。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の例