如何防止被丢弃的元素再次被拖动 - jquery

时间:2012-02-17 06:51:14

标签: jquery jquery-ui

如何防止拖放到特定位置的元素在可投放区域内被重新拖动我正在使用jquery ui。

示例 - http://jsfiddle.net/DTYEB/

在上面的示例中,元素可以拖入到dropbox中但是可以在框内重新拖动元素是否可以防止这种情况。

1 个答案:

答案 0 :(得分:1)

您可以向revert选项提供回调函数,如果可拖动广告位于有效位置,则将disabled选项设置为true

$('#imageContainer div').draggable({  
    grid : [20,20],                
    cursor: 'move',
    revert: function(valid) {
        if(valid) {
            this.draggable("option", "disabled", true);   
        }
        return !valid;
    }
});

这是一个updated fiddle

此功能似乎不在jQuery UI文档中。它声明revert值应该是布尔值或字符串,但是没有提到它也可以是函数。昨天又出现了另一个问题,我写了一个short article详细说明了这个回调函数的使用,如果你感兴趣的话,它会进一步解释它。