jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。通过 jQuery,你可以很容易地操作 DOM 元素,绑定事件处理器等。
如何使用 jQuery 禁止鼠标滚动?
用户可能希望在某些特定情况下禁止页面的滚动,例如弹出层显示时,防止用户通过滚动页面来关闭弹出层。
可以通过监听 wheel
和 touchmove
事件,并阻止它们的默认行为来实现禁止鼠标滚动。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>禁止鼠标滚动</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.no-scroll {
overflow: hidden;
height: 100%;
}
</style>
</head>
<body>
<div class="content">
<!-- 页面内容 -->
<p>这是一个示例页面。</p>
</div>
<button id="disable-scroll">禁止滚动</button>
<button id="enable-scroll">允许滚动</button>
<script>
$(document).ready(function() {
var $body = $('body');
var $disableScrollBtn = $('#disable-scroll');
var $enableScrollBtn = $('#enable-scroll');
$disableScrollBtn.on('click', function() {
$body.addClass('no-scroll');
$(document).on('wheel', preventDefault);
$(document).on('touchmove', preventDefault);
});
$enableScrollBtn.on('click', function() {
$body.removeClass('no-scroll');
$(document).off('wheel', preventDefault);
$(document).off('touchmove', preventDefault);
});
function preventDefault(e) {
e.preventDefault();
}
});
</script>
</body>
</html>
.no-scroll
类,用于设置 body
的 overflow
属性为 hidden
,并设置高度为 100%
,以禁止滚动。body
添加 .no-scroll
类,并绑定 wheel
和 touchmove
事件的 preventDefault
函数。body
的 .no-scroll
类,并解绑 wheel
和 touchmove
事件的 preventDefault
函数。通过这种方式,可以灵活地控制页面的滚动行为。
领取专属 10元无门槛券
手把手带您无忧上云