JQuery UI可拖动多个恢复选项

时间:2015-08-06 21:05:21

标签: javascript jquery-ui jquery-ui-draggable

JQuery UI draggable窗口小部件有revert个选项,用于确定拖动元素应在何种情况下恢复到其初始位置。

documentation指定可以提供字符串"invalid",在这种情况下,如果未拖放droppable窗口小部件,则拖动的元素将恢复到其原始位置。另一个选择是为revert提供一个函数,该函数将确定在拖动停止时窗口小部件是否应该还原。

在我的情况下,我喜欢这两种行为;如果放在不可放置的元素上,我希望窗口小部件还原,但我也想做一些即时自定义验证,其失败应该导致恢复。我如何结合这两种功能?

1 个答案:

答案 0 :(得分:1)

revert是函数时,传递给它的第一个参数是它被删除的droppablesortable小部件(如果存在),否则为false。例如:

$(elt).draggable({
    revert: function(dropped) {
        var result = false;
        // dropped can safely be typecast to boolean
        // if you want to call jquery functions on it check for "false" first
        result = customLogic || (dropped && $(dropped).is(".valid-droppable-class") ); 
        return result;
    }
});

使用revert:"invalid"相当于revert: function(dropped) { return dropped; }