jquery-mousewheel
Advanced tools
Comparing version 3.1.4 to 3.1.6
{ | ||
"name": "jquery-mousewheel", | ||
"version": "3.1.4", | ||
"version": "3.1.6", | ||
"main": "./jquery.mousewheel.js", | ||
@@ -5,0 +5,0 @@ "ignore": [ |
@@ -22,2 +22,16 @@ module.exports = function(grunt) { | ||
} | ||
}, | ||
connect: { | ||
server: { | ||
options: { | ||
hostname: '*', | ||
keepalive: true, | ||
middleware: function(connect, options) { | ||
return [ | ||
connect.static(options.base), | ||
connect.directory(options.base) | ||
]; | ||
} | ||
} | ||
} | ||
} | ||
@@ -29,2 +43,3 @@ }); | ||
grunt.loadNpmTasks('grunt-contrib-uglify'); | ||
grunt.loadNpmTasks('grunt-contrib-connect'); | ||
@@ -31,0 +46,0 @@ // Default task(s). |
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) | ||
* Licensed under the MIT License (LICENSE.txt). | ||
* | ||
* Version: 3.1.4 | ||
* Version: 3.1.6 | ||
* | ||
* Requires: 1.2.2+ | ||
* Requires: jQuery 1.2.2+ | ||
*/ | ||
@@ -22,5 +22,7 @@ | ||
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll']; | ||
var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll']; | ||
var lowestDelta, lowestDeltaXY; | ||
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], | ||
toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? | ||
['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], | ||
slice = Array.prototype.slice, | ||
nullLowestDeltaTimeout, lowestDelta; | ||
@@ -34,2 +36,4 @@ if ( $.event.fixHooks ) { | ||
$.event.special.mousewheel = { | ||
version: '3.1.6', | ||
setup: function() { | ||
@@ -69,9 +73,7 @@ if ( this.addEventListener ) { | ||
var orgEvent = event || window.event, | ||
args = [].slice.call(arguments, 1), | ||
args = slice.call(arguments, 1), | ||
delta = 0, | ||
deltaX = 0, | ||
deltaY = 0, | ||
absDelta = 0, | ||
absDeltaXY = 0, | ||
fn; | ||
absDelta = 0; | ||
event = $.event.fix(orgEvent); | ||
@@ -81,46 +83,62 @@ event.type = 'mousewheel'; | ||
// Old school scrollwheel delta | ||
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; } | ||
if ( orgEvent.detail ) { delta = orgEvent.detail * -1; } | ||
if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } | ||
if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } | ||
if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } | ||
if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } | ||
// At a minimum, setup the deltaY to be delta | ||
deltaY = delta; | ||
// Firefox < 17 related to DOMMouseScroll event | ||
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { | ||
// Firefox < 17 horizontal scrolling related to DOMMouseScroll event | ||
if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { | ||
deltaX = deltaY * -1; | ||
deltaY = 0; | ||
deltaX = delta * -1; | ||
} | ||
// Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy | ||
delta = deltaY === 0 ? deltaX : deltaY; | ||
// New school wheel delta (wheel event) | ||
if ( orgEvent.deltaY ) { | ||
deltaY = orgEvent.deltaY * -1; | ||
delta = deltaY; | ||
if ( 'deltaY' in orgEvent ) { | ||
deltaY = orgEvent.deltaY * -1; | ||
delta = deltaY; | ||
} | ||
if ( orgEvent.deltaX ) { | ||
deltaX = orgEvent.deltaX; | ||
delta = deltaX * -1; | ||
if ( 'deltaX' in orgEvent ) { | ||
deltaX = orgEvent.deltaX; | ||
if ( deltaY === 0 ) { delta = deltaX * -1; } | ||
} | ||
// Webkit | ||
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; } | ||
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; } | ||
// No change actually happened, no reason to go any further | ||
if ( deltaY === 0 && deltaX === 0 ) { return; } | ||
// Look for lowest delta to normalize the delta values | ||
absDelta = Math.abs(delta); | ||
if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; } | ||
absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX)); | ||
if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; } | ||
// Store lowest absolute delta to normalize the delta values | ||
absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); | ||
if ( !lowestDelta || absDelta < lowestDelta ) { | ||
lowestDelta = absDelta; | ||
} | ||
// Get a whole value for the deltas | ||
fn = delta > 0 ? 'floor' : 'ceil'; | ||
delta = Math[fn](delta / lowestDelta); | ||
deltaX = Math[fn](deltaX / lowestDeltaXY); | ||
deltaY = Math[fn](deltaY / lowestDeltaXY); | ||
// Get a whole, normalized value for the deltas | ||
delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); | ||
deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); | ||
deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); | ||
// Add information to the event object | ||
event.deltaX = deltaX; | ||
event.deltaY = deltaY; | ||
event.deltaFactor = lowestDelta; | ||
// Add event and delta to the front of the arguments | ||
args.unshift(event, delta, deltaX, deltaY); | ||
// Clearout lowestDelta after sometime to better | ||
// handle multiple device types that give different | ||
// a different lowestDelta | ||
// Ex: trackpad = 3 and mouse wheel = 120 | ||
if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } | ||
nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); | ||
return ($.event.dispatch || $.event.handle).apply(this, args); | ||
} | ||
function nullLowestDelta() { | ||
lowestDelta = null; | ||
} | ||
})); |
@@ -10,3 +10,3 @@ { | ||
], | ||
"version": "3.1.4", | ||
"version": "3.1.6", | ||
"author": { | ||
@@ -13,0 +13,0 @@ "name": "Brandon Aaron", |
{ | ||
"name": "jquery-mousewheel", | ||
"version": "3.1.4", | ||
"version": "3.1.6", | ||
"author": "Brandon Aaron <brandon.aaron@gmail.com> (http://brandonaaron.net/)", | ||
@@ -32,5 +32,5 @@ "description": "A jQuery plugin that adds cross-browser mouse wheel support.", | ||
"grunt-contrib-jshint": "~0.6.4", | ||
"grunt-contrib-uglify": "~0.2.4" | ||
"grunt-contrib-uglify": "~0.2.4", | ||
"grunt-contrib-connect": "~0.5.0" | ||
}, | ||
"readmeFilename": "README.markdown", | ||
"directories": { | ||
@@ -37,0 +37,0 @@ "test": "test" |
Sorry, the diff of this file is not supported yet
8157
86
290500
4