Jquery 如何从可拖放目标获取数据
这是交易。我在容器中得到了一些碎片,我希望能够将碎片从一个容器拖放到另一个容器中(从视图侧),但是为了更新我的模型,我需要target的位置(即我放置碎片的容器) 下面是一个简短的JSFIDLE,它演示了我的问题:。 例如,将底部零件拉入中间容器。我希望看到Jquery 如何从可拖放目标获取数据,jquery,jquery-ui,Jquery,Jquery Ui,这是交易。我在容器中得到了一些碎片,我希望能够将碎片从一个容器拖放到另一个容器中(从视图侧),但是为了更新我的模型,我需要target的位置(即我放置碎片的容器) 下面是一个简短的JSFIDLE,它演示了我的问题:。 例如,将底部零件拉入中间容器。我希望看到 2 1 但是得到了22。此外,我还希望target与我的drop目标(在本例中是一个容器)匹配 注意:这在jQuery1.6.4上使用过,但在我转到1.7后就停止了工作。您到底想在这里做什么?你不是在找我吗 您还应该将函数移到$(docu
2
1
但是得到了22
。此外,我还希望target与我的drop目标(在本例中是一个容器)匹配
注意:这在jQuery1.6.4上使用过,但在我转到1.7后就停止了工作。您到底想在这里做什么?你不是在找我吗 您还应该将函数移到
$(document).ready(function(){
)之外。页面加载后没有理由加载这些函数
嗯,问题似乎是你没有将pos
设置在drop
上。它只是没有得到更新
drop: function(ev, ui){
var pos = $(ev.target).data('p_pos');
var oldpos = ui.draggable.data('p_pos');
console.debug(pos);
console.debug(oldpos);
console.debug($(ev.target));
}
无论如何,我自己找到了这一个。这相当简单-必须将
ui.draggable.data(“p_pos”)
更改为this.draggable.data(“c_pos”)
,因为在jQuery 1.7.1中,正确地将拖动参数视为$(this)
,在以前的版本中,我通过ui.draggable获得了该参数
这是一个新的提琴:它工作正常。这不是我想要的解决方案。此外,如果我将它们从
$(文档)中拉出。ready(function(){
它们将什么也不做,因为它们绑定的元素还不存在。我的问题是我无法获得目标容器的c_pos
(我将片段拖到容器中)。我的目标是让它发挥作用。不是让它正确(但单独快速)。你到底想要实现什么?我假设两个元素不能相互重叠?当然可以。这是一个模拟(即不忠原型)。我只想从可拖放的容器中读取c\u pos
。我把我的可拖动。工件
打开。我可能应该把ui.draggable.data('c\u pos')
留下。这可能会把其他人弄糊涂。