鼠标滚轮事件的监听

鼠标滚轮事件的监听
原理:判断鼠标滚轮的滚动获取一个值,根据这个值判断滚动的方向。
分析:
首先,判断滚轮方向。
Firefox:detail,取值为-/+3(负值向上,正值向下);
其他:wheelDelta,取值为+/-120(正值向上,负值向下)。
兼容所有浏览器的的封装:

function scrollEvent(ev){
    ev = ev || window.event;
    var data = '';
    if(ev.wheelDelta){
        data = ev.wheelDelta;
    }else{
        data = -ev.detail*40;
    };
    alert(data)
}

函数返回+/-120(正值向上,负值向下)。

然后向对象添加事件。
Firefox:事件名为DOMMouseScroll
其他:事件名为mousewheel

function addEvent(element,type,handler){
    if(element.addEventListener){
        element.addEventListner(type,handler,false);
    }else if(element.attachEvent){
        element.attachEvent('on'+type,handler);
    }else{
        element['on'+type] = handler;
    }
};
addEvent(document,'mousewheel',scrollEvent);
addEvent(document,'DOMMouseScroll',scrollEvent);

  

posted @ 2014-04-27 19:15  invincible_hehe  阅读(619)  评论(0编辑  收藏  举报