我正在使用mootools排序来处理简单的图库功能。如果将图像从左列移动到右列,则照片将通过onComplete事件中的storeImage调用添加到用户的“照片”表中。
这是一个简单的小提琴:http://jsfiddle.net/JQja3/1/
我的问题是,如果来自onComplete事件的storeImage调用失败,我该如何将图像还原回“可用”左侧堆栈?
答案 0 :(得分:1)
您需要将组和父项存储在var中然后还原,这将完全恢复旧组和顺序。
此模式将创建一个可以撤消它的恢复功能 - 每次都是。
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();
}
}
});