首页 > js 鼠标滚动事件的问题

js 鼠标滚动事件的问题

我想问问Chrome下滚轮滚动事件的问题。 我这写了个tab切换绑定了滚轮事件,问题是每个tab里面的div都会有滚动。 我想问的是如何判断鼠标所在区域 如果不在tab里面的div滚动切换tab生效。如果在div里面如果div自身有滚动不生效,没有滚动的话则生效。

        function scrollFunc(e){
        var direct=0; 
        e=e || window.event; 
        var direct = e.wheelDelta > 0 ? 1 : -1;//1:向上 ,-1:向下
        alert(direct);
    }
    window.onmousewheel=scrollFunc;

一个最傻X的方法:

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

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

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

【热门文章】
【热门文章】