Skip to content

Commit 31cac0e

Browse files
author
Jason Williams
committed
adding movementX and movementY into syntheticMouseEvent
1 parent c78957e commit 31cac0e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

packages/react-dom/src/events/SyntheticMouseEvent.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
import SyntheticUIEvent from './SyntheticUIEvent';
99
import getEventModifierState from './getEventModifierState';
1010

11+
let previousScreenX = null;
12+
let previousScreenY = null;
13+
1114
/**
1215
* @interface MouseEvent
1316
* @see http://www.w3.org/TR/DOM-Level-3-Events/
@@ -34,6 +37,25 @@ const SyntheticMouseEvent = SyntheticUIEvent.extend({
3437
: event.fromElement)
3538
);
3639
},
40+
movementX: function(event) {
41+
if ('movementX' in event) {
42+
return event.movementX;
43+
}
44+
45+
const screenX = previousScreenX;
46+
previousScreenX = event.ScreenX;
47+
return screenX ? event.screenX - screenX : 0;
48+
49+
},
50+
movementY: function(event) {
51+
if ('movementY' in event) {
52+
return event.movementY;
53+
}
54+
55+
const screenY = previousScreenY;
56+
previousScreenY = event.screenY;
57+
return screenY ? event.screenY - screenY : 0;
58+
}
3759
});
3860

3961
export default SyntheticMouseEvent;

0 commit comments

Comments
 (0)