gpt4 book ai didi

javascript - 如何仅在 jquery ui 中的可拖动元素中放置可放置元素

转载 作者:行者123 更新时间:2023-12-01 02:30:15 24 4
gpt4 key购买 nike

阅读一些类似的文章/问题,但如果可放置的元素是具有相同命名类的许多元素,则无法解决此问题。

如何使被拖动的元素只能放置在可放置元素中。如果它被拖到其他地方,它会返回到原来的父级。 (不会被拖拽)。

JSFiddle Sample

HTML

<div  class="box-body">
<div class="task">task</div>
</div>
<div class="box-body"></div>

JS

$('.task').draggable();
$('.box-body').droppable({
drop:function(e, ui) {
$(e.target).append($(ui.draggable).detach().css({'top':'', 'left':''}));
}
});

CSS

.box-body {
height:100px;
width:100px;
border:1px solid #333;
}
.task {
width:100%;
margin:5px;
border:1px solid #333;
}

最佳答案

示例

这里显示了如何恢复 droppables 的位置
http://jqueryui.com/droppable/#revert

您可以通过像这样初始化可拖动对象来实现此目的:$( "#draggable").draggable({ revert: "invalid"});

JS

  $(function() {
$( "#draggable" ).draggable({ revert: "valid" });
$( "#draggable2" ).draggable({ revert: "invalid" });

$( "#droppable" ).droppable({
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});

HTML

<div id="draggable" class="ui-widget-content">
<p>I revert when I'm dropped</p>
</div>

<div id="draggable2" class="ui-widget-content">
<p>I revert when I'm not dropped</p>
</div>

<div id="droppable" class="ui-widget-header">
<p>Drop me here</p>
</div>

CSS

#draggable, #draggable2 {
width: 100px;
height: 100px;
padding: 0.5em;
float: left;
margin: 10px 10px 10px 0;
}
#droppable {
width: 150px;
height: 150px;
padding: 0.5em;
float: left;
margin: 10px;
}

关于javascript - 如何仅在 jquery ui 中的可拖动元素中放置可放置元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com