0

我正在使用 Jquery Ui 的可拖动和还原选项。

有没有办法检测元素是否正在恢复?

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

});

我见过

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

但是,它似乎将还原位置设置为释放鼠标的位置。

现在,我似乎拥有的选项是使用 mouseup。

4

1 回答 1

1

这实际上很有趣。我在文档中找不到任何提及它的内容。似乎调用了该​​函数,如果true返回,它将恢复,如果false它不会恢复。由于您根本没有回报,因此将其视为false.

因此,如果您使用 revert 选项true作为值(这意味着,总是恢复),那么您可以简单地在您的函数中添加一个 return 语句:

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

但是,如果您将恢复设置为invalid,我不确定您如何做到这一点。

而且由于它没有记录,我猜使用风险自负。

编辑: 我对它进行了更多研究,显然一个 agument 被传递给了它被丢弃的可丢弃函数,如果没有可丢弃则为 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
    });
});
于 2012-04-25T22:02:33.063 回答