JavaScript如何在使用鼠标滚轮时禁止滚动页面

本文介绍如何使用JavaScript阻止特定元素或整个页面通过鼠标滚轮进行滚动。通过`element.onmousewheel`设置返回值为`false`可以实现这一目标。文章还提供了如何在子元素上动态控制滚轮行为的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript如何在使用鼠标滚轮时禁止滚动页面

使用element.onmousewheel在触发的函数里return false就可以鼠标滚动滚轮时不滚动页面,return true则会开启鼠标滚轮滚动页面

这里的onmousewheel不能被addEventListener('mousewheel',funtion(){return false})所代替,不然会没有效果

//return false禁用鼠标滚动页面
window.onmousewheel=function(){
    return false
}
//return true启用鼠标滚动页面
window.onmousewheel=function(){
    return true
}

需要注意是这里的window会禁用页面内全部的鼠标滚轮触发轮动条,如果只需要针对某个元素鼠标滚动则替换成对应的dom结点,但是也会禁用所有包含在内的元素的鼠标滚轮触发轮动条,即使在子元素使用mousewheel=funtion(){return true},不过配合mouseovermouseleave来判断鼠标是否在子元素上来动态的启用父元素的滚动条

//这里element是我们要禁用鼠标滚轮触发滚动条的元素
element.children[0].addEventListener('mouseover',function(){
    //在子元素上就启用滚轮
    element.onmousewheel=()=>{
        console.log('启用滚轮')
        return true
    }
})
element.children[0].addEventListener('mouseleave',function(){
     //离开子元素上就禁用滚轮
    element.onmousewheel=()=>{
        console.log('禁用滚轮')
        return false
    }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值