JavaScript检测鼠标滚轮事件的麻烦

我正在尝试捕获鼠标事件.这是我正在尝试的代码:

if(window.addEventListener) { document.addEventListener('DOMMouseScroll', zoom_handler, false); } 
else { document.onmousewheel = zoom_handler; }

alert("test"); //I see this alert so I assume the code above it is run

// …

function zoom_handler(event) {

    var delta = 0;

    if (!event) event = window.event;
    // normalize the delta
    if (event.wheelDelta) {
        // IE and Opera
        delta = event.wheelDelta / 60;
    } else if (event.detail) {
        // W3C
        delta = -event.detail / 2;
    }

    alert("Delta: " + delta);


}

除了问题是当我尝试在我的页面上上下翻转时我什么都看不见,所以我想我没有正确地捕捉事件.作为参考,我一直在尝试按照本教程:http://viralpatel.net/blogs/2009/08/javascript-mouse-scroll-event-down-example.html

谢谢你的帮助.

解决方法:

我想你实现它的方式只能在某些浏览器中运行,而不是在Chrome中运行.你有没有尝试过

document.onmousewheel = zoom_handler;

在else语句之外?
这样做,使其在我在OSX Lion(Mac)上运行的Chrome浏览器上运行.

这是我在计算机上测试的方式:

if(window.addEventListener) { document.addEventListener('DOMMouseScroll', zoom_handler, false); } 
document.onmousewheel = zoom_handler;

alert("test"); //I see this alert so I assume the code above it is run

希望能解决它.

上一篇:3.5MM/2.5MM耳机插头定义


下一篇:Nodejs之发送邮件nodemailer