Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jQuery UI在禁用后在新函数中重新启用Dragable_Jquery Ui_Draggable - Fatal编程技术网

Jquery ui jQuery UI在禁用后在新函数中重新启用Dragable

Jquery ui jQuery UI在禁用后在新函数中重新启用Dragable,jquery-ui,draggable,Jquery Ui,Draggable,我正在开发一个需要拖放的应用程序。放置时,所选可拖动设备需要保持存在,但会被禁用。然后,新的“已删除”项会附加一个“关闭”按钮。单击“关闭”按钮后,该项将从“可拖放”区域消失,并作为可拖放项重新激活 问题是,一旦我禁用了draggable(成功删除后),我就无法在单独的“删除”功能中重新启用该唯一项。这里有一些示例代码——为了简单起见,很多代码都被剥离了出来,希望能在我遇到的这个特殊问题上获得建议 // DROP: initiate droppables $(".droppable

我正在开发一个需要拖放的应用程序。放置时,所选可拖动设备需要保持存在,但会被禁用。然后,新的“已删除”项会附加一个“关闭”按钮。单击“关闭”按钮后,该项将从“可拖放”区域消失,并作为可拖放项重新激活

问题是,一旦我禁用了draggable(成功删除后),我就无法在单独的“删除”功能中重新启用该唯一项。这里有一些示例代码——为了简单起见,很多代码都被剥离了出来,希望能在我遇到的这个特殊问题上获得建议

// 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();

    });

我花了好几天时间在谷歌上搜索解决方案,但现在我的脑袋都快撞到了。任何帮助都将不胜感激。谢谢

在remove函数中,是否尝试将元素重新实例化为可拖动的<代码>$('#'+targetID).children('img').draggable{}而不是使用
.draggable('option','disabled',false)您可以使用
.draggable('enable')。我不知道这是否能解决您的问题,但我将从调试它开始