| | |
| | | * Thanks to: Seamus Leahy for adding deltaX and deltaY |
| | | * |
| | | * Version: 3.0.6 |
| | | * |
| | | * |
| | | * Requires: 1.2.2+ |
| | | */ |
| | | |
| | |
| | | this.onmousewheel = handler; |
| | | } |
| | | }, |
| | | |
| | | |
| | | teardown: function() { |
| | | if ( this.removeEventListener ) { |
| | | for ( var i=types.length; i; ) { |
| | |
| | | mousewheel: function(fn) { |
| | | return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); |
| | | }, |
| | | |
| | | |
| | | unmousewheel: function(fn) { |
| | | return this.unbind("mousewheel", fn); |
| | | } |
| | |
| | | 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 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); |
| | | } |
| | | |
| | | })(jQuery); |
| | | })(jQuery); |