【发布时间】:2010-09-13 18:01:26
【问题描述】:
我正在开发一个需要拖放的应用。放置时,选定的可拖动对象需要保持存在但被禁用。然后新的“丢弃”项目附加一个“关闭”按钮。单击关闭按钮后,该项目将从“可放置”区域消失并重新激活为可拖动项目。
问题是,一旦我禁用了可拖动项(在成功放置后),我就无法在单独的“删除”功能中重新启用该唯一项。这是一些示例代码 - 为了简单起见,其中很多被删除,希望就我遇到的这个特定问题获得建议。
// DROP: initiate droppables
$(".droppable").droppable({
hoverClass: 'drag-state-hover',
accept: '.draggable li img',
tolerance: 'fit',
drop: function(event, ui) {
var elementID = $(ui.draggable).attr("id") // get the dynamically set li id for each list item chosen
if( $(this).children('img').attr('src') == 'images/elements/blank.gif' ) {
// disable the element once it's been dragged and dropped
$(ui.draggable).draggable( 'option', 'disabled', true );
// turn on the remove link
$(this).find('a.remove').toggle();
}
}
});
// ITEM REMOVE: function for removing items
$('.remove').click(function(e) {
var targetID = $(this).parent('li').attr('id');
$('#' + targetID).children('img').draggable( 'option', 'disabled', false );
e.preventDefault();
});
我也试过了,没有成功...
// ITEM REMOVE: function for removing items
$('.remove').click(function(e) {
var targetID = $(this).parent('li').attr('id');
$(".droppable").droppable({
hoverClass: 'drag-state-hover',
accept: '.draggable li img',
tolerance: 'fit',
drop: function(event, ui) {
$(ui.draggable).draggable( 'option', 'disabled', false );
}
});
e.preventDefault();
});
我花了几天时间在 google 上搜索解决方案,但此时我正在摸索。任何帮助将不胜感激。谢谢!!
【问题讨论】: