将拖动元素保留在另一个元素内
我目前正在开发一个拖放插件。 (我创建它是因为我希望其他人使用它)并且我想创建 containment
功能,例如 jQuery 可拖动有它。
我正在尝试以下代码:
var $div = $(o.containment);
$(oj).bind("dragstart", function (ev, dd) {
dd.limit = $div.offset();
dd.limit.bottom = dd.limit.top + $div.outerHeight() - $(this).outerHeight();
dd.limit.right = dd.limit.left + $div.outerWidth() - $(this).outerWidth();
}).bind('drag', function (ev, dd) {
$(this).css({
top: Math.min(dd.limit.bottom, Math.max(dd.limit.top, dd.offsetY)),
left: Math.min(dd.limit.right, Math.max(dd.limit.left, dd.offsetX))
});
});
关于代码:o.containment
,只是 containment
选项的值,在本例中为:“#hi”。这应该是插件选择器 oj
应该留在其中的遏制。
问题:oj
(选择器)没有拖动。我希望有人能帮我解决这个问题,谢谢。
I'm currently working on a drag n' drop plugin. (I'm creating it because I would like other people to use it) and I want to create the containment
feature like jQuery draggable has it.
I'm trying the following code:
var $div = $(o.containment);
$(oj).bind("dragstart", function (ev, dd) {
dd.limit = $div.offset();
dd.limit.bottom = dd.limit.top + $div.outerHeight() - $(this).outerHeight();
dd.limit.right = dd.limit.left + $div.outerWidth() - $(this).outerWidth();
}).bind('drag', function (ev, dd) {
$(this).css({
top: Math.min(dd.limit.bottom, Math.max(dd.limit.top, dd.offsetY)),
left: Math.min(dd.limit.right, Math.max(dd.limit.left, dd.offsetX))
});
});
About the code: o.containment
, is just the value for the containment
option, which in this case is: '#hi'. Which is suppose to be the containment that, oj
, the selector for the plugin, is suppose to stay in.
Problem: oj
(the selector) is not dragging. I hope someone can help me with this thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论