説明したように、私が持っているメニューの種類からいくつかの div をドラッグし、それらを特定の div にドロップできるようにしたい.
ただし、それぞれに「x」ボタンを追加して、「x」ボタンをクリックすると、ドラッグ可能/ドロップ可能な要素が元の位置に戻る(元に戻る)ようにしたい..
私はこれを見つけた
これは私が望んでいたもののように思えました(実際には、全体的なものではなく、それぞれに固有のボタンが必要です..しかし、1)これはjsfiddleでもドロップされないようです2)私のテストでは、コンソールにエラーが表示されます"Uncaught TypeError: 未定義のプロパティ 'originalPosition' を読み取ることができません"
具体的には、この行でエラーが発生します ui.draggable.data("draggable").originalPosition);
ここにjs部分があります..
function revertDraggable($selector) {
$selector.each(function() {
var $this = $(this),
position = $this.data("originalPosition");
if (position) {
$this.animate({
left: position.left,
top: position.top
}, 500, function() {
$this.data("originalPosition", null);
});
}
});
}
$(document).ready(function() {
$("#drag").draggable({
revert: "invalid"
});
$("#floor").droppable({
drop: function(event, ui) {
if (!ui.draggable.data("originalPosition")) {
ui.draggable.data("originalPosition",
ui.draggable.data("draggable").originalPosition);
}
}
});
$("#other").click(function() {
revertDraggable($("#drag"));
});
});
私のhtmlは次のようになります
ドロップ可能な位置 fooにのみドロップできるようにしたい
<div id="container">
<div id="floor">foo</div>
<div id="other">bar</div>
</div>
そして初期位置
<div class="menu" id="power" width="300">
<div class="options ui-widget-content" id="drag"><img src="1.jpg"/></div>
<div class="options ui-widget-content" id="drag2"><img src="2.jpg"/></div>
</div>
psプラグインjquery.uiではなく、jqueryだけでこれをダウンさせることができますか?