这是合约。我在容器内部得到了一些碎片,我希望能够将碎片从一个容器拖放到另一个容器中(从视图侧),但是为了更新我的模型,我需要目标(即我放下我的碎片的容器)位置。
这是一个简短的jsfiddle,演示了我的问题:container piece fiddle。 例如,将底部件插入中间容器中。我希望看到
2
1
但得到了2 2
。更多我希望目标匹配我的放置目标(在这种情况下是一个容器)。
注意:这曾经用于jQuery 1.6.4,但是一旦我移到1.7上就停止了工作。
答案 0 :(得分:1)
你想在这里做什么?你不是在寻找http://jqueryui.com/demos/sortable/吗?
您还应该将您的功能移到$(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));
}
答案 1 :(得分:0)
无论如何,我自己想出了这个。这很简单 - 必须将ui.draggable.data("p_pos")
更改为this.draggable.data("c_pos")
,因为在jQuery 1.7.1中将拖动的参数正确地视为先前版本中的$(this)
我通过ui.draggable获取了该参数。
这是新的小提琴:http://jsfiddle.net/rtxRa/22/,它可以正常工作。