Skip to content

Commit 234baa9

Browse files
committed
Restore jQuery 1.2 compatibility, test all supported jQuery minor lines
It was supported in 3.1.13, so we shouldn't drop it in a minor update; we'll do that in 4.0.0.
1 parent 08011dc commit 234baa9

9 files changed

+140
-13
lines changed

.editorconfig

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
root = true
55

66
[*]
7-
indent_style = tab
7+
indent_style = space
8+
indent_size = 4
89
end_of_line = lf
910
charset = utf-8
1011
trim_trailing_whitespace = true

jquery.mousewheel.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
} )( function( $ ) {
2323
"use strict";
2424

25-
var toFix = [ "wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll" ],
25+
var nullLowestDeltaTimeout, lowestDelta,
26+
modernEvents = !!$.fn.on,
27+
toFix = [ "wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll" ],
2628
toBind = ( "onwheel" in window.document || window.document.documentMode >= 9 ) ?
2729
[ "wheel" ] : [ "mousewheel", "DomMouseScroll", "MozMousePixelScroll" ],
28-
slice = Array.prototype.slice,
29-
nullLowestDeltaTimeout, lowestDelta;
30+
slice = Array.prototype.slice;
3031

3132
if ( $.event.fixHooks ) {
3233
for ( var i = toFix.length; i; ) {
@@ -87,11 +88,13 @@
8788

8889
$.fn.extend( {
8990
mousewheel: function( fn ) {
90-
return fn ? this.on( "mousewheel", fn ) : this.trigger( "mousewheel" );
91+
return fn ?
92+
this[ modernEvents ? "on" : "bind" ]( "mousewheel", fn ) :
93+
this.trigger( "mousewheel" );
9194
},
9295

9396
unmousewheel: function( fn ) {
94-
return this.off( "mousewheel", fn );
97+
return this[ modernEvents ? "off" : "unbind" ]( "mousewheel", fn );
9598
}
9699
} );
97100

jquery.mousewheel.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jtr-isolate.yml

+46
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,58 @@ runs:
2020
- 3.6.4.min
2121
- 3.6.4.slim
2222
- 3.6.4.slim.min
23+
- 3.5.1
24+
- 3.5.1.min
25+
- 3.5.1.slim
26+
- 3.5.1.slim.min
27+
- 3.4.1
28+
- 3.4.1.min
29+
- 3.4.1.slim
30+
- 3.4.1.slim.min
31+
- 3.3.1
32+
- 3.3.1.min
33+
- 3.3.1.slim
34+
- 3.3.1.slim.min
35+
- 3.2.1
36+
- 3.2.1.min
37+
- 3.2.1.slim
38+
- 3.2.1.slim.min
39+
- 3.1.1
40+
- 3.1.1.min
41+
- 3.1.1.slim
42+
- 3.1.1.slim.min
43+
- 3.0.0
44+
- 3.0.0.min
45+
- 3.0.0.slim
46+
- 3.0.0.slim.min
2347
- 2.2.4
2448
- 2.2.4.min
49+
- 2.1.4
50+
- 2.1.4.min
51+
- 2.0.3
52+
- 2.0.3.min
2553
- 1.12.4
2654
- 1.12.4.min
55+
- 1.11.3
56+
- 1.11.3.min
57+
- 1.10.2
58+
- 1.10.2.min
59+
- 1.9.1
60+
- 1.9.1.min
61+
- 1.8.3
62+
- 1.8.3.min
2763
- 1.7.2
2864
- 1.7.2.min
65+
- 1.6.4
66+
- 1.6.4.min
67+
- 1.5.2
68+
- 1.5.2.min
69+
- 1.4.4
70+
- 1.4.4.min
71+
- 1.3.2
72+
- 1.3.2.min
73+
- 1.2.6
74+
- 1.2.6.min
2975

3076
retries: 3
3177
hard-retries: 1

jtr.yml

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
version: 1
2+
3+
base-url: /test/
4+
5+
runs:
6+
jquery:
7+
- git
8+
- git.min
9+
- git.slim
10+
- git.slim.min
11+
- 3.x-git
12+
- 3.x-git.min
13+
- 3.x-git.slim
14+
- 3.x-git.slim.min
15+
- 3.7.1
16+
- 3.7.1.min
17+
- 3.7.1.slim
18+
- 3.7.1.slim.min
19+
- 3.6.4
20+
- 3.6.4.min
21+
- 3.6.4.slim
22+
- 3.6.4.slim.min
23+
- 3.5.1
24+
- 3.5.1.min
25+
- 3.5.1.slim
26+
- 3.5.1.slim.min
27+
- 3.4.1
28+
- 3.4.1.min
29+
- 3.4.1.slim
30+
- 3.4.1.slim.min
31+
- 3.3.1
32+
- 3.3.1.min
33+
- 3.3.1.slim
34+
- 3.3.1.slim.min
35+
- 3.2.1
36+
- 3.2.1.min
37+
- 3.2.1.slim
38+
- 3.2.1.slim.min
39+
- 3.1.1
40+
- 3.1.1.min
41+
- 3.1.1.slim
42+
- 3.1.1.slim.min
43+
- 3.0.0
44+
- 3.0.0.min
45+
- 3.0.0.slim
46+
- 3.0.0.slim.min
47+
- 2.2.4
48+
- 2.2.4.min
49+
- 2.1.4
50+
- 2.1.4.min
51+
- 2.0.3
52+
- 2.0.3.min
53+
- 1.12.4
54+
- 1.12.4.min
55+
- 1.11.3
56+
- 1.11.3.min
57+
- 1.10.2
58+
- 1.10.2.min
59+
- 1.9.1
60+
- 1.9.1.min
61+
- 1.8.3
62+
- 1.8.3.min
63+
- 1.7.2
64+
- 1.7.2.min
65+
- 1.6.4
66+
- 1.6.4.min
67+
- 1.5.2
68+
- 1.5.2.min
69+
- 1.4.4
70+
- 1.4.4.min
71+
- 1.3.2
72+
- 1.3.2.min
73+
- 1.2.6
74+
- 1.2.6.min

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"test": "npm run build && npm run lint && npm run test:browser"
4949
},
5050
"dependencies": {
51-
"jquery": ">=1.7.2"
51+
"jquery": ">=1.2.6"
5252
},
5353
"devDependencies": {
5454
"@swc/core": "^1.11.8",

test/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8">
55
<title>jQuery Mousewheel Unit Test</title>
6-
6+
77
<link rel="stylesheet" href="../node_modules/qunit/qunit/qunit.css">
88
<script src="../node_modules/qunit/qunit/qunit.js"></script>
99
<script>

test/unit.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
QUnit.module( "mousewheel" );
44

5+
var modernEvents = !!jQuery.fn.on,
6+
on = modernEvents ? "on" : "bind";
7+
58
function makeWheelEvent( deltaX, deltaY ) {
69
var event = window.document.createEvent( "Event" );
710
event.initEvent( "wheel", true, true );
@@ -16,7 +19,7 @@ QUnit.test( ".on() and .trigger()", function( assert ) {
1619

1720
var markup = jQuery( "<div>wheelme</div>" ).appendTo( "body" );
1821

19-
markup.on( "mousewheel", function( e ) {
22+
markup[ on ]( "mousewheel", function( e ) {
2023
assert.ok( true, "triggered a mousewheel event on " + e.target.innerText );
2124
} );
2225
markup.trigger( "mousewheel" );
@@ -46,7 +49,7 @@ QUnit.test( "natively triggered events", function( assert ) {
4649

4750
var markup = jQuery( "<p>wheelme</p>" ).appendTo( "body" );
4851

49-
markup.on( "mousewheel", function( e ) {
52+
markup[ on ]( "mousewheel", function( e ) {
5053
assert.ok( true, "triggered a mousewheel event on " + e.target.innerText );
5154
assert.ok( "deltaX" in e, "got a deltaX in the event" );
5255
assert.ok( !isNaN( parseFloat( e.deltaY ) ), "deltaY is a number: " + e.deltaY );
@@ -67,7 +70,7 @@ QUnit.test( "mouse event properties are passed through", function( assert ) {
6770

6871
var markup = jQuery( "<p>wheelme</p>" ).appendTo( "body" );
6972

70-
markup.on( "mousewheel", function( e ) {
73+
markup[ on ]( "mousewheel", function( e ) {
7174
var org = e.originalEvent;
7275
assert.equal( org.clientX, 342, "original event has clientX: " + org.clientX );
7376
assert.equal( org.clientY, 301, "original event has clientY: " + org.clientY );

0 commit comments

Comments
 (0)