代わりに.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