javascript - 如何防止拖动元素时页面滚动?

标签 javascript jquery html css jquery-ui

我有一个可拖动的 div。我希望它只能在我的屏幕大小内拖动。但是现在任何人都可以拖动它并使其超出边界。

我的可拖动 div:

$("#stayaway").draggable()

我在网上搜索了一下,找到了这行代码。这是为了防止滚动。

$("body").css("overflow", "hidden")

它所做的只是让滚动条消失,但您仍然可以将 div 拖出窗口大小。

最佳答案

使用 containment option :

$("#stayaway").draggable({containment: "window"})

演示

$("#stayaway").draggable({containment: "window"})
#stayaway {
  width: 200px;
  height: 200px;
  background-color: silver;
  text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"></script>
<div id="stayaway"></div>

关于javascript - 如何防止拖动元素时页面滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39081362/

相关文章:

javascript - 如何将具有只读成员的javascript对象复制到非只读成员?

jquery - CSS 响应式导航菜单默认展开

javascript - Hover,over 和 .png 透明背景的图片

javascript - Vanilla JavaScript 代码在控制台中运行,但不能在 (greasemonkey) 脚本中运行

jquery - 如何通过 jQuery 强制应用 CSS 过渡效果/动画

javascript - 如何使用带有 jQ​​uery 的日期选择器设置默认的今天日期?

javascript - 在 Javascript 中返回并打印对象数组

javascript - JS 跳出嵌套 for 循环

php - 找出时间间隔与自己冲突的同学?

html - 使用 CSS 禁用表单输入