Hallo
unfortunatelly, following code doesn't work:
$('#test').bind("mousewheel", function() {...});
It seems, that mousewheel is not an accepted event in jquery. So I
have written a small plugin that can handle wheel events. It is based
on http://adomas.org/javascript-mouse-wheel/. It should only stop the
standard handler (scrolling), if there is an event called
"mousewheelup" or "mousewheeldown" in the event target.
This works fine in firefox, but IE crashes ("target.events is empty or
no object"). Does anyone has an idea, how I can fix it?
Here is the code:
$.event.wheel = function(event){
var delta = 0;
if (!event) event = window.event;
if (event.wheelDelta) {
delta = event.wheelDelta/120;
if (window.opera) delta = -delta;
} else if (event.detail) {
delta = -event.detail/3;
}
if (delta) {
if (delta<0) {
$(event.target).trigger("mousewheeldown");
if (event.target.events &&
event.target.events.mousewheeldown)
var stopEvent = true;
} else {
$(event.target).trigger("mousewheelup");
if (event.target.events &&
event.target.events.mousewheelup)
var stopEvent = true;
}
if (stopEvent) {
if (event.preventDefault)
event.preventDefault();
event.returnValue = false;
} else {
event.returnValue = true;
}
}
}
/* Initialization code. */
if (window.addEventListener)
window.addEventListener('DOMMouseScroll', $.event.wheel, false);
window.onmousewheel = document.onmousewheel = $.event.wheel;
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/