Jquery 当另一个div掉入内部时,使可拖动、可下降div不可拖动
我有一个视图,它将预订和表格显示为div。 这些桌子是可拖拽和可放下的,而预订处只能拖拽。 我想把一张桌子拖到你想要的位置,然后在上面拖一个预订。 当预订被放在桌上时,桌就不需要再拖了。 这是我现在的代码:Jquery 当另一个div掉入内部时,使可拖动、可下降div不可拖动,jquery,html,jquery-ui,drag-and-drop,Jquery,Html,Jquery Ui,Drag And Drop,我有一个视图,它将预订和表格显示为div。 这些桌子是可拖拽和可放下的,而预订处只能拖拽。 我想把一张桌子拖到你想要的位置,然后在上面拖一个预订。 当预订被放在桌上时,桌就不需要再拖了。 这是我现在的代码: <script> $(".draggable").draggable({ snap: ".draggable", snapMode: "outer", stop: function (event, ui) { var finalxPos =
<script>
$(".draggable").draggable({
snap: ".draggable",
snapMode: "outer",
stop: function (event, ui) {
var finalxPos = $(this).css("left").replace("px", "");
var finalyPos = $(this).css("top").replace("px", "");
var itemId = $(this).attr('id');
var posXid = "posX" + itemId;
var posYid = "posY" + itemId;
$('input:text[id="' + posXid + '"]').attr("value", finalxPos);
$('input:text[id="' + posYid + '"]').attr("value", finalyPos);
},
}).droppable({
drop: function(event, ui) {
$(this).draggable({ disabled: true });
},
out: function(ev, ui) {
$(this).draggable({ disabled: false });
}
});
$(".draggableres").draggable({
snap: ".draggable",
snapMode: "inner"
});
</script>
无法工作,因为可能有更多.draggable div如果调用.draggable().draggable()
您可以仅禁用保留:
更新
要在删除保留后禁用表(不可拖动),请执行以下操作:
$('.table').droppable({
activeClass: 'grey',
hoverClass: 'yellow',
accept: '.draggables',
drop: function(event, ui){
$(this).draggable('disable');
}
}).draggable();;
$('.draggables').draggable({
snap: '.table',
snapMode: 'inner'
});
这里有一个简单的事实上,你所拥有的应该是你所描述的。但是,请注意,禁用可拖动容器后,可能无法单击并拖动包含的可拖动容器,因为外部(已禁用)容器将吞下单击。如果我这样做,则表保留不再可拖动,但表是可拖动的。我希望表在被删除时不可拖动。只需替换ui.draggable.draggable('disable')使用
$(this).draggable('disable')
我将更新我的代码。:-)如果您需要使用现有代码进一步澄清,请告诉我。我简化了我的答案,以便于调整。
$(".draggable").draggable({disabled: true});
$('.table').droppable({
activeClass: 'grey',
hoverClass: 'yellow',
accept: '.draggables',
drop: function(event, ui){
$(this).draggable('disable');
}
}).draggable();;
$('.draggables').draggable({
snap: '.table',
snapMode: 'inner'
});