Cross browser mouse wheel event handler

C

cjl

Hey all:

I'm trying to write a cross-browser (IE and firefox) event handler for
the mousewheel. Basically my web app is an image viewer, so if you
scroll "down" with the wheel the next image should be displayed and if
you scroll "up" the previous image should be displayed.

So far I have:

function handleMouseWheel(e)
{
if (!e) e = window.event;

if ( e.wheelDelta <= 0 || e.detail > 0) { changeImage(1); }
else { changeImage(-1); }
}

This code works in IE and in Firefox to the desired effect. The
problem I am having is with registering the event handler.

The following works for IE:
document.onmousewheel = handleMouseWheel;

And the following works for Firefox:
window.addEventListener("DOMMouseScroll", handleMouseWheel, false);

But when I add the firefox event handler to my code, IE chokes with an
error "Object doesn't support this property or method".

What do I need to do to "hide" the firefox event handler code from IE?

-CJL
 
C

cjl

Hmmm:
What do I need to do to "hide" the firefox event handler code from IE?

Looks like all I need to do is:

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

Is this correct? Anyway, works for me.

-CJL
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,827
Latest member
DMUK_Beginner

Latest Threads

Top