<script type="text/javascript">
var scrollFunc=function(e){
var direct=0;
e=e || window.event;
if(e.wheelDelta){//IE/Opera/Chrome
userMouse(e.wheelDelta);
}else if(e.detail){//Firefox
userMouse(e.wheelDelta);
}
}
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
function userMouse(flage){
if(flage == 3){
alert("firefox UP!");
}else if(flage == -3){
alert("firefox DOWN!");
}else if(flage == 120){
alert("IE UP!");
}else if(flage == -120){
alert("IE DOWN!");
}
}
</script>
问题是:如果我滚动鼠标滚轮一次,它会在Firefox中发出一次警报,但在IE / Chrome / Opera中会发出两次警报。我认为这是内核问题,对吧?我该如何解决?< / p>
答案 0 :(得分:3)
这是你的罪魁祸首:
window.onmousewheel=document.onmousewheel=scrollFunc;
在IE,Chrome,Opera和Safari中,您正在为onmousewheel
和document
处理window
事件。
您只在Firefox中看到一个提醒,因为您只在此处处理document
的{{1}}事件:
onmousewheel