如上所述,我希望能够从我拥有的某种菜单中拖动一些 div,并能够将它们拖放到特定的 div 中。我设法在此之后进行了排序。
但是,我想在每个按钮上添加一个“x”按钮,以便单击“x”按钮时可拖动/可放置元素返回(恢复)到其原始位置..
我发现了这个
这似乎是我想要的(实际上我想要一个唯一的按钮,而不是一个整体的按钮.. 但是 1)即使在 jsfiddle 上似乎也没有被丢弃 2)在我的测试中,我在控制台中收到错误“未捕获的类型错误:无法读取未定义的属性‘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而不是插件jquery.ui吗?