Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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/82.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 若元素已经存在于容器中,那个么我们如何使元素可拖放?_Javascript_Jquery_Html_Css_Jquery Ui - Fatal编程技术网

Javascript 若元素已经存在于容器中,那个么我们如何使元素可拖放?

Javascript 若元素已经存在于容器中,那个么我们如何使元素可拖放?,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我正在处理jQueryUI,我能够使html元素可拖放,但这些元素在拖放之前不是容器的一部分,这意味着这些元素存在于容器外部,我将所有这些元素拖放到容器内部。落下这些元素后也会在容器内移动。但后来我有了一个想法,我复制了删除元素的html代码并将其放入容器中,然后重新加载浏览器窗口,现在有三个div: 拖放我,使我可以拖动(复制的内容)。我的问题是哪个div在容器内(使我可以拖动)不移动。因此,请任何人帮助我以下是我的代码: $(文档).ready(函数(){ $('.drag').dragga

我正在处理jQueryUI,我能够使html元素可拖放,但这些元素在拖放之前不是容器的一部分,这意味着这些元素存在于容器外部,我将所有这些元素拖放到容器内部。落下这些元素后也会在容器内移动。但后来我有了一个想法,我复制了删除元素的html代码并将其放入容器中,然后重新加载浏览器窗口,现在有三个div: 拖放我,使我可以拖动(复制的内容)。我的问题是哪个div在容器内(使我可以拖动)不移动。因此,请任何人帮助我以下是我的代码:

$(文档).ready(函数(){
$('.drag').draggable({
助手:“克隆”,
附:“身体”,
回复:“无效”
});
$('.container')。可拖放({
接受:“.drag”,
下降:功能(e,u){
var a=u.helper.clone();
var parent=$('.container');
a、 css(“z指数”,1000);
a、 附于(“集装箱”);
var leftAdjust=a.position().left-parent.offset().left;
var topAdjust=a.position().top-parent.offset().top;
a、 css({
左:左调整,
顶部:顶部调整
});
console.log(“信息:已接受:”,a.attr(“类”);
a、 属性('class','dropped')。可拖动({
安全壳:“.容器”
});
}
});
});
。拖动{
文本对齐:居中;
边缘顶部:5px;
宽度:100px;
高度:100px;
颜色:白色;
背景色:红色;
边缘底部:5px;
边框:1px纯黑;
}
.集装箱{
文本对齐:居中;
宽度:400px;
边缘顶部:5px;
左缘:5%;
高度:400px;
颜色:白色;
背景颜色:绿色;
边框:1px纯黑;
}
.放弃{
文本对齐:居中;
宽度:100px;
高度:100px;
颜色:白色;
背景色:红色;
边框:1px纯黑;
}
身体{
显示器:flex;
}
拖动我
到这里来!!
让我拖拉

我没有对您的代码做太多更改,因为我对您的目标了解不多,但在删除后,我将
使我可拖动
div
可拖动
(请参阅)

$(文档).ready(函数(){ dodragable(); 函数dodragable(){ $('.drag').draggable({ 助手:“克隆”, 附:“身体”, 回复:“无效” }); }


乍一看,我认为您没有对“make me draggable”元素调用
.draggable()
:var a=u.helper.clone();
包含删除的元素,而不是您正在删除的元素

如果要使该div在放置时可拖动,则应检查
事件目标

否则,如果您想在drop call$('Droped').Dragable({containment:.container“});

根据您的评论“我们可以在“make me Dragable”div上进行双击和单击事件吗–”我们可以通过一个技巧来实现,但是在这里进行单次单击检查时会有几秒钟的延迟


请向我们展示问题的工作形式。使用代码编辑器添加完整代码。@hunzaboy:好的,我会添加的,请稍候while@hunzaboy:先生,请看这个例子,请帮助我任何人谢谢你做得很好,但我不想要“让我拖拉”的副本我只想移动它,但拖动我进行克隆。哦,好的,等等while@SatinderSingh检查SinghThank你我想要这样抱歉,但是缺少了一些东西。在克隆drag me对象之前,这是不移动的。也可能是第一次。嗨,这不是第一次移动,我怎么做,请给出任何解决方案。很好,正在工作为什么我们要增加延迟?任何原因。因为你做不到,如果你双击,它需要两次单击。如果你想减少延迟,你可以尝试。。
$('.container').droppable({
            accept: ".drag",
            drop: function(e, u) {
            var a = u.helper.clone();
            var parent = $('.container');
                 a.css("z-index", 1000);
                a.appendTo(".container");
            var leftAdjust = a.position().left - parent.offset().left;
            var topAdjust = a.position().top - parent.offset().top;
            a.css({left: leftAdjust, top: topAdjust});

                console.log("INFO: Accepted: ", a.attr("class"));
                a.attr('class', 'dropped').draggable({
                containment: ".container"
                });

                $('.make_dragable').draggable();
                dodragable()
            }
        });
});
var DELAY = 700, clicks = 0, timer = null;
    $(".make_dragable").on("click", function(e){

        clicks++;  //count clicks

        if(clicks === 1) {

            timer = setTimeout(function() {

                alert("Single Click");  //perform single-click action    
                clicks = 0;             //after action performed, reset counter

            }, DELAY);

        } else {

            clearTimeout(timer);    //prevent single-click action
            alert("Double Click");  //perform double-click action
            clicks = 0;             //after action performed, reset counter
        }

    })
    .on("dblclick", function(e){
        e.preventDefault();  //cancel system double-click event
    });