vendor: 2,698 bytes, lines 1-82
1/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) 2 * Licensed under the MIT License (LICENSE.txt). 3 * 4 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. 5 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. 6 * Thanks to: Seamus Leahy for adding deltaX and deltaY 7 * 8 * Version: 3.0.6 9 * 10 * Requires: 1.2.2+ 11 */ 12(function($) { 13 var types = ['DOMMouseScroll', 'mousewheel']; 14 if ($.event.fixHooks) { 15 for (var i = types.length; i;) { 16 $.event.fixHooks[types[--i]] = $.event.mouseHooks; 17 } 18 } 19 $.event.special.mousewheel = { 20 setup: function() { 21 if (this.addEventListener) { 22 for (var i = types.length; i;) { 23 this.addEventListener(types[--i], handler, false); 24 } 25 } else { 26 this.onmousewheel = handler; 27 } 28 }, 29 teardown: function() { 30 if (this.removeEventListener) { 31 for (var i = types.length; i;) { 32 this.removeEventListener(types[--i], handler, false); 33 } 34 } else { 35 this.onmousewheel = null; 36 } 37 } 38 }; 39 $.fn.extend({ 40 mousewheel: function(fn) { 41 return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); 42 }, 43 unmousewheel: function(fn) { 44 return this.unbind("mousewheel", fn); 45 } 46 }); 47 48 function handler(event) { 49 var orgEvent = event || window.event, 50 args = [].slice.call(arguments, 1), 51 delta = 0, 52 returnValue = true, 53 deltaX = 0, 54 deltaY = 0; 55 event = $.event.fix(orgEvent); 56 event.type = "mousewheel"; 57 // Old school scrollwheel delta 58 if (orgEvent.wheelDelta) { 59 delta = orgEvent.wheelDelta / 120; 60 } 61 if (orgEvent.detail) { 62 delta = -orgEvent.detail / 3; 63 } 64 // New school multidimensional scroll (touchpads) deltas 65 deltaY = delta; 66 // Gecko 67 if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) { 68 deltaY = 0; 69 deltaX = -1 * delta; 70 } 71 // Webkit 72 if (orgEvent.wheelDeltaY !== undefined) { 73 deltaY = orgEvent.wheelDeltaY / 120; 74 } 75 if (orgEvent.wheelDeltaX !== undefined) { 76 deltaX = -1 * orgEvent.wheelDeltaX / 120; 77 } 78 // Add event and delta to the front of the arguments 79 args.unshift(event, delta, deltaX, deltaY); 80 return ($.event.dispatch || $.event.handle).apply(this, args); 81 } 82})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.