在Jquery中使新Div可拖动
我试图让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;
$(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()