2012-01-13 45 views
2

我試圖恢復如果條件返回false,則可拖動。所以,例如,我想要做以下事情:Script.aculo.us Drag'n'Drop - 恢復onEnd條件

new Draggable('myelement', { 
    onStart: function() { 
     // do something 
    }, 
    onEnd: function() { 
     var condition = getConditionVal(); 
     if (!condition) revert to original position 
     else { 
     // do something else 
     } 
    } 
}); 

會這樣嗎?由於可投放區域動態變化,因此不確定在這種情況下「可丟棄」是否會起作用。

回答

0

Scriptaculous的拖放代碼沒有設計爲有條件還原。您可以恢復或不恢復。可悲的是,這一切。

此功能已被多次請求,但多年來腳本/原型已經逐漸流行,所以有人懷疑這個功能會被添加。

3

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的does the revert right after the onEnd event call, 這讓我們改變它會在執行前的可能性。