恢复mootools可排序的举动

时间:2012-02-24 23:31:02

标签: javascript mootools jquery-ui-sortable

我正在使用mootools排序来处理简单的图库功能。如果将图像从左列移动到右列,则照片将通过onComplete事件中的storeImage调用添加到用户的“照片”表中。

这是一个简单的小提琴:http://jsfiddle.net/JQja3/1/

我的问题是,如果来自onComplete事件的storeImage调用失败,我该如何将图像还原回“可用”左侧堆栈?

1 个答案:

答案 0 :(得分:1)

您需要将组和父项存储在var中然后还原,这将完全恢复旧组和顺序。

此模式将创建一个可以撤消它的恢复功能 - 每次都是。

http://jsfiddle.net/JQja3/6/

new Sortables('#example2 UL', {
    clone: true,
    revert: true,
    opacity: 0.7,
    onStart: function(el, clone) {
        this.restore = (function() {
            var oldParent = el.getParent(),
                oldList = oldParent.getChildren();    
            return function() {
                oldParent.adopt(oldList);
            }
        })();

    },
    onComplete: function(el, clone){
        var storeImage = false; // this is false to simulate a bad return from the DB store call
        if (!storeImage){
            this.restore();
        }       
    }
});