jquery ui revert在取消模态下丢弃了draggable

时间:2013-01-21 19:39:45

标签: jquery jquery-ui jquery-droppable jquery-draggable

我有这个代码在管理系统文件中激活jquery draggable当我在另一个文件上弹出一个确认对话框时,当我点击取消时,draggable会自动恢复,有人可以帮我吗?

$(function() {
    $('.files-icons li').live('mouseenter',function() {
        var $this = $(this);
        if(!$this.is(':data(draggable)')) {
            $this.draggable({
                revert: 'invalid',
                helper: "original",
                opacity: 0.35,
                snapMode: 'inner',
                snap:true,
                snapTolerance: 35,
                distance: 8,
                revertDuration: 200,
                start: function(){

                }
            });
        }
    });
    $('.ic').live('mouseenter',function() {
        var $this = $(this);
        if(!$this.is(':data(droppable)')) {
            $this.droppable({
                tolerance: 'intersect',
                over: function() {
                },
                out: function() {
                },
                drop: function(event, ui) {
                    dest = $(this).attr('rel');
                    $.modal.confirm('Are u sure?', function()
                    {
                        $.ajax({
                            url:'<?= $this->request->webroot; ?>files/move/source:' + ui.helper.attr('rel')  + '/dest:' + dest ,
                        }).done(function(data) {
                            $(ui.draggable).remove();
                        });
                    }, function() {
                        return false;
                    });

                }
            });
        }
    });


});

1 个答案:

答案 0 :(得分:3)

如果您使用clone作为可拖动的helper,则应该能够在确认时附加到droppable,或者在未确认时不执行任何操作。

使用原生浏览器confirm进行演示:http://jsfiddle.net/WbHAr/1/

发布您正在使用的模态插件的链接,并将从中创建演示。