鼠标滚轮事件的监听
鼠标滚轮事件的监听
原理:判断鼠标滚轮的滚动获取一个值,根据这个值判断滚动的方向。
分析:
首先,判断滚轮方向。
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);