2012-04-25 111 views
0

我正在使用Jquery Ui的可拖動和恢復選項。jquery,恢復時的事件?

有沒有辦法檢測元素是否還原?

$(function() { 
$("#draggable").revert(function(){ 
alert('the div is reverting'); 
}); 

}); 

我見過

revert:function(){ 
alert(""); 
} 

但是它似乎設置復歸位置移動到鼠標已被釋放的位置。

現在,我似乎有選擇是使用mouseup。

回答

1

這實際上很有趣,可以工作。我無法在文檔中找到任何提及。看起來該函數被調用,如果返回true它將恢復,如果false那麼它將不會恢復。由於你根本沒有回報,因此它被視爲false

因此,如果您使用帶有true還原選項的值(這意味着,隨時恢復),那麼你可以簡單地添加return語句的功能:

$(function() { 
    $("#draggable").revert(function(){ 
     alert('the div is reverting'); 
     return true; 
    }); 
}); 

如果你設置恢復至invalid但是,我不確定如何做到這一點。

而且由於它沒有記錄,我想你自己冒險使用。

編輯:我對它進行了更多的研究,顯然是一個遺產被傳遞給它被放置的droppable的函數,如果沒有丟棄,則是false。所以在技術上你可以這樣效仿invalid

$(function() { 
    $("#draggable").revert(function(droppable){ 
     alert('the div is reverting'); 
     return !!droppable; // might just be able to return droppable but I think this is safer 
    }); 
});