设置可拖动元素的边界
Posted
技术标签:
【中文标题】设置可拖动元素的边界【英文标题】:Set bounds for draggable element 【发布时间】:2014-04-28 14:56:34 【问题描述】:我有一个由 jQuery 动态生成的可拖动元素。我在 div 中有一个背景图像。如何绑定元素使其永远不会超出 div?
这是代码:jsfiddle.net。
$(document).ready(function ()
$("button").click(function ()
$("#currentimage").append('<img id="dragable" src="http://s25.postimg.org/pi8ruls3z/image.jpg" />');
$("#dragable").draggable();
);
);
【问题讨论】:
【参考方案1】:您可以添加containment: 'parent'
。此外,您必须添加类 dragable
而不是 id。 ID 必须是唯一的。这样您就可以多次单击该按钮。
试试:
$(document).ready(function ()
$("button").click(function ()
$("#currentimage").append('<img class="dragable" src="http://s25.postimg.org/pi8ruls3z/image.jpg" />');
$(".dragable").draggable(
containment: 'parent'
);
);
);
DEMO
【讨论】:
【参考方案2】:使用遏制来限制它容器
containment: $('#currentimage')
仅供参考
ID 必须是唯一的
.append('<img id="dragable"
阅读Two html elements with same id attribute: How bad is it really?
您正在添加具有相同 id 的图像。
你可以使用类
.append('<img class="dragable"
比使用
$(".dragable").draggable();
Fiddle Demo
$(document).ready(function ()
$("button").click(function ()
var el = '<img src="http://s25.postimg.org/pi8ruls3z/image.jpg" />';
$("#currentimage").append($(el).draggable( containment: $("#currentimage") ));
);
);
【讨论】:
以上是关于设置可拖动元素的边界的主要内容,如果未能解决你的问题,请参考以下文章
如何在 javascript 中为我的可拖动对象设置“边界”区域?
如何使用movieclip作为AS3中另一个可拖动对象的边界?