我的情况是我有一个可拖动但不可排序的项目列表和另一个可排序的列表。我想要实现的是将可拖动项拖入可排序项,但是当我将项目放入可排序项时,我想发出一个ajax请求,并根据答案将项目插入可排序项或不插入。 我尝试使用 beforeStop 或接收可排序事件来取消添加到可排序的项目,但没有找到解决方案。 我在这里做了一个jsfiddle http://jsfiddle.net/5pTCd/21/
最佳答案
为什么不在接受/恢复设置中使用可拖动/可放置?
这是完成接受/恢复拖放的理论方法:
首先,您需要将您的可拖动设置为在不被接受时恢复:
$(".drag").draggable({ revert: 'invalid' });
然后,您当然可以定义 droppable 中有效的内容:
$(".drop").droppable({ accept: '.drag' });
但是由于 jQuery UI 中包含的魔粉,您可以插入一个函数作为“accept”的值,它的返回值将定义您接受的有效元素:
$(".drop").droppable( { accept: function() {
// return true or false
} });
作为替代方案,您可以使用 Dragstart 事件来更改 droppable 的接受选项:
$(".drag").draggable({
start: function() {
// your ajax call and then a callback with :
$(".drop").droppable("option","accept","#thisItemsID") }
});
关于jquery-ui - jquery UI可拖动+可排序(取消接收),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451005/