我已经设置了一个jquery draggable,它可以在整个文档中移动,它不包含在任何内容中,这是可以接受的,因为当用户拖动时,我希望它们能够拖动到远处他们希望的页面(或左或右)。
确实,我想要的唯一限制是,应该阻止它们将元素拖到页面顶部之外。
是否可以防止仅在容器的一个边缘外拖动?
答案 0 :(得分:9)
您可以覆盖被拖动元素的位置。
这个小提琴是位置覆盖的一个例子:http://jsbin.com/ufarif/7/edit
这是一个不允许比左边界的80 px更接近的例子
$('[id^="drag-"]').each(function() {
$(this).draggable({
opacity: 0.7,
cursorAt: { top: 15, left: 50 },
scroll: true,
stop: function(){},
drag : function(e,ui){
//Do not permit to be more close than 80 px of the left border
console.log(ui.position.left);
if(ui.position.left < 80)
ui.position.left = 80;
});
});
答案 1 :(得分:1)
您可以使用containment选项阻止在窗口外拖动:
$("#id").draggable({
handle: tr_top,
containment: "window"
});