通过拖动移动动态创建的 DIV
Moving dynamically created DIV by dragging
我正在使用JavaScript动态创建div元素,每个div中还有一个移动图标,用户可以使用它来拖动/移动div,这是我的div创建代码:
var _body = document.getElementsByTagName('body')[0];
var _div = document.createElement('div');
_div.style.width = "250px";
_div.style.height = "150px";
_div.style.position = "relative";
_div.id = "div" + count.toString();
var imgMove = document.createElement("img");
imgMove.setAttribute("src", "boxmove.png");
_div.appendChild(imgMove);
当用户拖动移动图标时,如何使用 JQuery draggable() 函数来移动我的div,任何其他解决方案?
将handle
选项设置为 img
,这意味着图像将用作拖动手柄。
_body.appendChild(_div);
$(_div).draggable({ handle: "img" });
handle
选项是针对容器内元素的选择器,因此您可以通过为图像指定类名来更具体,如果div 中有多个图像,但只需要某个图像作为拖动处理程序,则需要该类名。
从文档中
处理
如果指定,则限制拖动开始,除非鼠标按下发生在指定的元素上。仅允许从可拖动元素派生的元素。
以下是拖放的快速解决方案:
<script type="text/javascript">
function allowDrop(ev){
ev.preventDefault();
}
function drag(ev){
ev.dataTransfer.setData("Text", ev.target.id);
}
function drop(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
这是 HTML 标记:
<style type="text/css">
[ondragover] {width:200px;height:200px; outline: 1px solid #ccc}
[draggable] {width:48px;height:48px;background-color:#999; border:1px solid #eaeaea;position:relative}
[draggable]:hover {cursor:pointer}
</style>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div2"ondrop="drop(event)" ondragover="allowDrop(event)">
<div id="drag1" draggable="true" ondragstart="drag(event)"></div>
<div id="drag2" draggable="true" ondragstart="drag(event)"></div>
<div id="drag3" draggable="true" ondragstart="drag(event)"></div>
<div id="drag4" draggable="true" ondragstart="drag(event)"></div>
</div>
相关文章:
- 从Div创建图像,并使用Javascript和ASP.net将其保存到服务器
- 用Div内容创建obj
- 如何使用Jquery在DIV标记内创建表
- HowTo:使用 DOM 创建 DIV,无需 jQuery
- D3 在具有多个值的 enter() 数据上没有创建 DIV
- 在执行AJAX调用时,没有从PHP创建DIV
- 动态创建DIV,并不是动态地获取高度和宽度
- 动态创建Div's、 外部Div的孩子,在Chrome中的位置错误,但在IE中是正确的
- 单击创建 DIV;然后通过单击它删除相同的 DIV
- 在每次迭代中使用Jquery更改新创建DIv的样式
- 动态创建Div,在其他Div之上
- jQuery用动态ID和定义的CSS属性创建DIV(定义该DIV的外观和位置)
- 创建Div "catch"滚动时的页面顶部
- For循环没有创建Div
- 创建Div并在另一个Div中追加
- 如何从json创建Div和它的内容
- 我正在尝试在JQuery滑块中创建DIV动画
- 解析XML和创建DIV's JQuery
- 在调试中查找,试图创建DIV时出现未定义错误
- 遍历 JSON 并创建 DIV 标记