【发布时间】:2017-08-04 06:14:21
【问题描述】:
我试图让dragItem_1 只被target_1 接受等等。
我想将accept 参数动态更改为被拖动项目的id。
我可以通过定义每个可拖动和可放置的项目来使其工作,但由于项目和目标的数量是用户生成的,我需要动态地进行。
$( function() {
$( ".js-draggable-box" ).draggable({
revert: "invalid",
start: function( event, ui ) {
var item = ui.draggable;
var id = $(item).attr('id');
console.log(id)
}
});
$( ".js-drop-target" ).droppable({
accept: ".js-draggable-box",
drop: function( event, ui ) {
var dropped = ui.draggable;
var droppedOn = $(this);
$(this).addClass( "c-drop-target--correct" ).droppable("disable");
$(dropped).detach().css({top: 0,left: 0}).appendTo(droppedOn).draggable("disable");
}
});
} );
我也尝试获取 start 事件的 ID,但我得到一个未定义的。
【问题讨论】:
-
这将在
start中完成,但是每个拖动项如何知道哪个目标?或者你是说你希望每个目标在物品被丢弃时不再是可丢弃的? IT 不清楚您要完成什么。
标签: javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable