From bbbf22afe1f6d4367d7b207ccff0b307880adee3 Mon Sep 17 00:00:00 2001 From: Lydia Date: Wed, 16 Jan 2013 12:15:42 -0800 Subject: [PATCH 1/2] Added delta calculations for new Wheel event in FF17 and IE9. --- jquery.mousewheel.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/jquery.mousewheel.js b/jquery.mousewheel.js index 38b60951b..fc0f36399 100755 --- a/jquery.mousewheel.js +++ b/jquery.mousewheel.js @@ -6,7 +6,7 @@ * Thanks to: Seamus Leahy for adding deltaX and deltaY * * Version: 3.0.6 - * + * * Requires: 1.2.2+ */ @@ -30,7 +30,7 @@ $.event.special.mousewheel = { this.onmousewheel = handler; } }, - + teardown: function() { if ( this.removeEventListener ) { for ( var i=types.length; i; ) { @@ -46,7 +46,7 @@ $.fn.extend({ mousewheel: function(fn) { return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); }, - + unmousewheel: function(fn) { return this.unbind("mousewheel", fn); } @@ -57,27 +57,31 @@ function handler(event) { var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0; event = $.event.fix(orgEvent); event.type = "mousewheel"; - + // Old school scrollwheel delta if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; } if ( orgEvent.detail ) { delta = -orgEvent.detail/3; } - + + // New school Wheel event delta + if ( orgEvent.deltaY ) { delta = orgEvent.deltaY/9 * -1; } + if ( orgEvent.deltaX ) { delta = orgEvent.deltaX/9 * -1; } + // 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, deltaX, deltaY); - + return ($.event.dispatch || $.event.handle).apply(this, args); } From f043b3dbf00f896a721524486ead07c46d3d3e9a Mon Sep 17 00:00:00 2001 From: Lydia Date: Wed, 16 Jan 2013 13:28:51 -0800 Subject: [PATCH 2/2] Minor license update. --- jquery.mousewheel.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jquery.mousewheel.js b/jquery.mousewheel.js index fc0f36399..fc7526b14 100755 --- a/jquery.mousewheel.js +++ b/jquery.mousewheel.js @@ -1,11 +1,14 @@ /*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) + * + * Wheel event handling added Jan 2013 by Lydia Katsamberis (http://www.llkats.com) + * * Licensed under the MIT License (LICENSE.txt). * * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. * Thanks to: Seamus Leahy for adding deltaX and deltaY * - * Version: 3.0.6 + * Version: 3.0.7 * * Requires: 1.2.2+ */