Adding deltaX and deltaY for horizontal scrolling

This commit is contained in:
Seamus Leahy
2010-02-14 22:40:25 -05:00
committed by Brandon Aaron
parent 9ceaad61e5
commit dbdbb86667

View File

@ -43,16 +43,31 @@ $.fn.extend({
function handler(event) {
var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true;
var orgEvent = event;
var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
event = $.event.fix(event || window.event);
event.type = "mousewheel";
// Old school scrollwheel delta
if ( event.wheelDelta ) delta = event.wheelDelta/120;
if ( event.detail ) delta = -event.detail/3;
// New school multidimensional scroll (touchpads) deltas
deltaY = delta;
// Gecko
if( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
deltaY = 0;
deltaX = -1*delta;
}
// Webkit
if( orgEvent.wheelDeltaY !== undefined ) deltaY = orgEvent.wheelDeltaY/120;
if( orgEvent.wheelDeltaX !== undefined ) deltaX = -1*orgEvent.wheelDeltaX/120;
// Add event and delta to the front of the arguments
args.unshift(event, delta);
args.unshift(event, delta, deltaX, deltaY);
return $.event.handle.apply(this, args);
}