Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 停止jQuery draggable从屏幕外滚动_Javascript_Jquery_Css_Jquery Ui_Jquery Ui Draggable - Fatal编程技术网

Javascript 停止jQuery draggable从屏幕外滚动

Javascript 停止jQuery draggable从屏幕外滚动,javascript,jquery,css,jquery-ui,jquery-ui-draggable,Javascript,Jquery,Css,Jquery Ui,Jquery Ui Draggable,在div元素上使用jQuery UI Dragable时,您可以将该元素“拖离”页面的右侧,但页面将简单地扩展并使用该元素自动滚动。这是有问题的,因为我试图在元素到达窗口右侧时启动一个事件。一个警告是,我不能简单地绑定div,使其不能离开,因为我希望在光标与边而不是div相交时停止拖动(尝试将其从左侧拖动,以了解我的意思,我只想在右侧复制它) 我所尝试的: $( ".box" ).draggable({ containment: "#containment-wrapper", scroll: f

在div元素上使用jQuery UI Dragable时,您可以将该元素“拖离”页面的右侧,但页面将简单地扩展并使用该元素自动滚动。这是有问题的,因为我试图在元素到达窗口右侧时启动一个事件。一个警告是,我不能简单地绑定div,使其不能离开,因为我希望在光标与边而不是div相交时停止拖动(尝试将其从左侧拖动,以了解我的意思,我只想在右侧复制它)

我所尝试的:

$( ".box" ).draggable({ containment: "#containment-wrapper", scroll: false })
正文{overflow:hidden;}-乍一看是有效的,但是如果检查close,正文实际上是滚动的,只是没有可见的滚动条。此外,这是一个插件使用,所以我不能限制用户只溢出:隐藏体

创建窗口大小/固定位置的包装器div以触发事件,但主体仍延伸到固定div的正下方

我只需要一种方式来说明如果我正在拖动一个元素,请不要将窗口滚动

下面是一个JSFIDLE,它允许拖动,但会离开窗口:

html:
javascript(jQueryUi):
$('.box').draggable();
css:
.盒子{
左:200px;
顶部:200px;
宽度:150px;
高度:150像素;
框阴影:插入0 20px
}

请使用此代码:

$( ".box" ).draggable({ containment: "#containment-wrapper", scroll: false })

身体的
scroll:false
(可拖动)和
overflow:hidden
的组合应该可以解决问题。请检查我的答案。如果不起作用,请添加评论。