MCPcopy
hub / github.com/jquery/jquery-mousewheel / handler

Function handler

jquery.mousewheel.js:102–227  ·  view source on GitHub ↗
( event )

Source from the content-addressed store, hash-verified

100
101
102 function handler( event ) {
103 var orgEvent = event || window.event,
104 args = slice.call( arguments, 1 ),
105 delta = 0,
106 deltaX = 0,
107 deltaY = 0,
108 absDelta = 0;
109 event = $.event.fix( orgEvent );
110 event.type = "mousewheel";
111
112 // Old school scrollwheel delta
113 if ( "detail" in orgEvent ) {
114 deltaY = orgEvent.detail * -1;
115 }
116 if ( "wheelDelta" in orgEvent ) {
117 deltaY = orgEvent.wheelDelta;
118 }
119 if ( "wheelDeltaY" in orgEvent ) {
120 deltaY = orgEvent.wheelDeltaY;
121 }
122 if ( "wheelDeltaX" in orgEvent ) {
123 deltaX = orgEvent.wheelDeltaX * -1;
124 }
125
126 // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
127 if ( "axis" in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
128 deltaX = deltaY * -1;
129 deltaY = 0;
130 }
131
132 // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatability
133 delta = deltaY === 0 ? deltaX : deltaY;
134
135 // New school wheel delta (wheel event)
136 if ( "deltaY" in orgEvent ) {
137 deltaY = orgEvent.deltaY * -1;
138 delta = deltaY;
139 }
140 if ( "deltaX" in orgEvent ) {
141 deltaX = orgEvent.deltaX;
142 if ( deltaY === 0 ) {
143 delta = deltaX * -1;
144 }
145 }
146
147 // No change actually happened, no reason to go any further
148 if ( deltaY === 0 && deltaX === 0 ) {
149 return;
150 }
151
152 // Need to convert lines and pages to pixels if we aren't already in pixels
153 // There are three delta modes:
154 // * deltaMode 0 is by pixels, nothing to do
155 // * deltaMode 1 is by lines
156 // * deltaMode 2 is by pages
157 if ( orgEvent.deltaMode === 1 ) {
158 var lineHeight = $.data( this, "mousewheel-line-height" );
159 delta *= lineHeight;

Callers

nothing calls this directly

Calls 1

shouldAdjustOldDeltasFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…