2012-05-29 3 views
4

마우스 이벤트를 캡처하려고합니다.마우스 휠 이벤트 감지에 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

도움을 주셔서 감사합니다.

답변

4

내가 구현 한 방법은 일부 브라우저에서만 작동하며 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 

희망.

+0

안녕하세요, 대단히 감사합니다. IF를 보았을 때 나는 본능적으로 다른 조건에 else 절을 ​​붙였습니다. 이것은 나에게 잘못되었습니다. – JDS

관련 문제