Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
在Jquery中使新Div可拖动_Jquery_Html_Drag And Drop_Draggable - Fatal编程技术网

在Jquery中使新Div可拖动

在Jquery中使新Div可拖动,jquery,html,drag-and-drop,draggable,Jquery,Html,Drag And Drop,Draggable,我试图让jquery添加新的div,然后让它可以拖动,但我一直在谷歌上尝试和寻找,我在这里找不到任何东西,下面是我的代码 $(document).ready(function() { $("#draggable").draggable({ containment: 'parent', handle: 'drag_border', drag: function(e, ui) { var top = ui.position.top;

我试图让jquery添加新的div,然后让它可以拖动,但我一直在谷歌上尝试和寻找,我在这里找不到任何东西,下面是我的代码

 $(document).ready(function() {

 $("#draggable").draggable({ 
   containment: 'parent',
   handle: 'drag_border',
   drag: function(e, ui) {
          var top = ui.position.top;
          var left = ui.position.left;
          $("#top").html(top);
          $("#left").html(left);
           }
       }); 
   });

       function New_Text() {   
            $("<div id=\"draggable\" style=\"width: 200px; height: 50px; border:dashed thin; background-color: #fff\">Drag me</div>").appendTo("div#drag_border"); 
              }
$(文档).ready(函数(){
$(“#draggable”).draggable({
包含:'父',
句柄:“拖动边界”,
拖动:函数(e、ui){
var top=ui.position.top;
var left=ui.position.left;
$(“#top”).html(top);
$(“#左”).html(左);
}
}); 
});
函数New_Text(){
$(“拖动我”).appendTo(“div#Drag#u border”);
}

谢谢

我还没有试过,但这应该可以:

function New_Text() {   
  $("<div id=\"draggable\" style=\"width: 200px; height: 50px; border:dashed thin; background-color: #fff\">Drag me</div>").appendTo("div#drag_border"); 
        setTimeout(function() {
           ...
          });

         }, 10);
   }
函数New_Text(){
$(“拖动我”).appendTo(“div#Drag#u border”);
setTimeout(函数(){
...
});
}, 10);
}

要创建div,请让浏览器将其添加到DOM树中,然后调用
draggable
函数。

这里的问题是,您在尝试将div设置为可拖动后才创建div

jQuery事件只对运行Javascript时存在的元素起作用-有办法使用
live
delegate
函数来解决这个问题-但是你的插件似乎不允许这样做

因此,如果代码需要保持不变,请将创建DIV的位移到可拖动函数的上方,这样就可以了

如果正在使用,则创建元素并使其可拖动:

$("<div />").draggable();
$(“”)。可拖动();

由于有人在这里提到了
draggable()
函数,这是一个jQuery UI函数,下面是一个简短的操作:

将以下行(对jQuery UI的引用)添加到.html页面的头部或正文底部:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

这只是一个片段,你能发布更多的代码以便更容易调试吗?你能在页面加载时创建div,并在需要时隐藏它吗?@alexy13-我相信问题是他稍后创建了div,因此事件处理程序没有附加到div,我认为live函数对此不起作用,但这几乎就是他所需要的。我想说的是发布一些html,这样我就可以更容易地找到问题。有时候我不太擅长解释:P
$('#draggable').draggable()