为了账号安全,请及时绑定邮箱和手机立即绑定

如果在div里面如果div自身有滚动不生效,没有滚动的话则生效。

如果在div里面如果div自身有滚动不生效,没有滚动的话则生效。

喵喵时光机 2023-05-04 13:09:45
我想问问Chrome下滚轮滚动事件的问题。 我这写了个tab切换绑定了滚轮事件,问题是每个tab里面的div都会有滚动。 我想问的是如何判断鼠标所在区域 如果不在tab里面的div滚动切换tab生效。        function scrollFunc(e){        var direct=0;          e=e || window.event;          var direct = e.wheelDelta > 0 ? 1 : -1;//1:向上 ,-1:向下         alert(direct);     }    window.onmousewheel=scrollFunc;
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

一个很傻的方法:

1、获得鼠标当前位置所在元素(使用document.elementFromPoint

2、检查该元素(el)是否el.scrollHeight==el.offsetHeight && el.scrollWidth==el.offsetWidth,如果是的话,当然就是不可滚动的,否则就是可滚动的

3、递归检查该元素的祖先(ancestor)是否可滚动


查看完整回答
反对 回复 2023-05-06
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信