Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery可排序+;DragTable无法获取正确的事件目标id_Javascript_Jquery_Jquery Ui_Jquery Ui Sortable_Jquery Ui Draggable - Fatal编程技术网

Javascript Jquery可排序+;DragTable无法获取正确的事件目标id

Javascript Jquery可排序+;DragTable无法获取正确的事件目标id,javascript,jquery,jquery-ui,jquery-ui-sortable,jquery-ui-draggable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,Jquery Ui Draggable,我正在尝试构建一个表单生成器,它可以拖动div并一个接一个地放置,还可以在其中放置输入控件 它可以对控件进行排序。(请参阅下图)首先,我拖动两个Div容器并将其放置在主容器中。之后,当我尝试将Div2放入Div1中时,我无法获取事件目标id 只有在主容器中有两个div时才会发生这种情况。当我从字段类型中将一个div拖放到另一个div上时,我得到了正确的目标id 要重新创建,请先将Div拖动到mastercontainer(id),然后尝试将其拖动到childcontainer(id) 您刚刚错

我正在尝试构建一个表单生成器,它可以拖动div并一个接一个地放置,还可以在其中放置输入控件

它可以对控件进行排序。(请参阅下图)首先,我拖动两个Div容器并将其放置在主容器中。之后,当我尝试将
Div2
放入
Div1
中时,我无法获取事件目标id

只有在主容器中有两个div时才会发生这种情况。当我从字段类型中将一个div拖放到另一个div上时,我得到了正确的目标id

要重新创建,请先将Div拖动到
mastercontainer(id)
,然后尝试将其拖动到
childcontainer(id)


您刚刚错过了正确的事件,因为
stop()
,一旦在容器之间拖动开始拖动的目标

因此,您可以使用
recieve()
事件捕获上次更改发生的位置,如下所示:

receive: function(e, ui) {
    alert(e.target.id)
  }
请参阅下面的代码片段:

var MasterContainer={
“标题”:“无标题表格”,
“说明”:“表格说明见此处”,
“控制”:[]
};
$('.container')。可排序({
连接方式:'.container',
卷轴:错,
zIndex:10000,
占位符:“控件占位符”,
接收:功能(e、ui){
警报(如target.id)
}
});
$(“#container1,#container2”)。可拖动({
connectToSortable:“.container”,
助手:“克隆”,
回复:“无效”,
});
$(“.container”).disableSelection()
.container{
最小高度:200px;
背景色:#4474FF;
边框:1px实心#1E44B2;
边界半径:2px;
显示:内联块;
填充:10px;
}
.集装箱1{
显示:内联块;
}
.容器.容器{
最小高度:100px;
背景色:#45FF41;
边框:1px实心#04B200;
显示:块;
宽度:200px;
边缘底部:5px;
}
.项目{
背景色:#FFCB44;
边框:1px实心#B2840C;
边缘底部:5px;
边界半径:2px;
填充:15px 50px;
}
.项目1{
背景色:#FFCB44;
边框:1px实心#B2840C;
边缘底部:5px;
边界半径:2px;
填充:10px 30px;
宽度:30px;
}

Div
列表
按钮
主容器
儿童容器

这对我不起作用。我只需要删除div id。在fiddle中,您可以看到当您将“div”拖动到主容器时,它可以工作。它显示主容器警报,但当我们将Div拖到主容器,然后拖到childcontainer时,它仍然将target显示为mastercontainer。在我的代码片段中:它按预期工作,我想,拖到主容器显示主容器,然后拖到子容器显示子容器,你能解释一下是怎么回事吗,可能我没有理解这个问题correctly@NayasSubramanian ,请看编辑刚才用receive代替stop,在我的理解中,它现在可以工作了@NayasSubramanian它作为发布的代码段工作,如果不是,broowser中可能会有问题吗?
receive: function(e, ui) {
    alert(e.target.id)
  }