如果条件返回false,我将尝试恢复可拖动。例如,我想做以下事情:
new Draggable('myelement', {
onStart: function() {
// do something
},
onEnd: function() {
var condition = getConditionVal();
if (!condition) revert to original position
else {
// do something else
}
}
});
这可能吗?不确定"可丢弃"在这种情况下是否有效,因为可丢弃区域是动态变化的。
Scriptaculous拖放旨在轻松添加各种花哨的东西。当然,您可以随时编辑恢复选项。
要更改可拖动的恢复选项的值,只需重置恢复选项:
var myDraggable = new Draggable('myelement', {
onStart: function() {
// do something
},
onEnd: function() {
var condition = getConditionVal();
if (!condition){
myDraggable.options.revert = true;
}
else {
myDraggable.options.revert = false;
// do something else
}
};
});
Scriptaculous在onEnd事件调用之后立即进行还原,这给了我们在执行之前更改它的可能性。
Scriptaculous的拖放代码并不是为有条件还原而设计的。您可以进行还原,也可以不进行还原。遗憾的是,仅此而已。
这个功能已经被要求了很多次,但多年来脚本/原型的受欢迎程度已经下降,所以这个功能是否会被添加还值得怀疑。