# MSGestureEvent

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The `MSGestureEvent` is a proprietary interface specific to Internet Explorer and Microsoft Edge which represents events that occur due to touch gestures. Events using this interface include `MSGestureStart`, `MSGestureEnd`, `MSGestureTap`, `MSGestureHold`, `MSGestureChange`, and `MSInertiaStart`.

`MSGestureEvent` derives from `UIEvent`, which in turn derives from `Event`. Though the `MSGestureEvent.initGestureEvent()` method is kept for backward compatibility, the creation of an `MSGestureEvent` object should be done using the `MSGestureEvent()` constructor.

## Constructor

`MSGestureEvent()`
Creates an `MSGestureEvent` object.

## Properties

This interface also inherits properties of its parents, `UIEvent` and `Event`.

`MSGestureEvent.expansion` Read only
The diameter of the gesture area. For example, the distance between fingers.
`MSGestureEvent.gestureObject` Read only
Returns the `MSGesture` object for this gesture event.
`MSGestureEvent.rotation` Read only
Amount of rotation (in radians) since the previous `MSGestureEvent` of the current gesture. Positive values indicate clockwise rotation; negative values indicate anticlockwise rotation.
`MSGestureEvent.scale` Read only
The difference in scale (for zoom gestures) from the previous `MSGestureEvent` of the current gesture.
`MSGestureEvent.translationX` Read only
Distance traversed along the X-axis since the previous `MSGestureEvent` of the current gesture
`MSGestureEvent.translationY` Read only
Distance traversed along the Y-axis since the previous `MSGestureEvent` of the current gesture
`MSGestureEvent.velocityAngular` Read only
`MSGestureEvent.velocityExpansion` Read only
The velocity of the expansion of the gesture area.
`MSGestureEvent.velocityX` Read only
Velocity along the direction of the X-axis.
`MSGestureEvent.velocityY` Read only
Velocity along the direction of the Y-axis.

## Methods

This interface also inherits methods of its parents, `UIEvent` and `Event`.

`MSGestureEvent.initGestureEvent()`
Initializes the value of an `MSGestureEvent`. If the event has already being dispatched, this method does nothing. This method is deprecated as of Microsoft Edge.

## Gesture event types

• `MSGestureStart`
• `MSGestureEnd`
• `MSGestureTap`
• `MSGestureHold`
• `MSGestureChange`
• `MSInertiaStart`

## Specifications

Not part of any specification. Microsoft has a description on MSDN.

## Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support ? Yes ?10 ? ?
`MSGestureEvent()` constructor ? Yes ?10 ? ?
`expansion` ? Yes ?10 ? ?
`gestureObject` ? Yes ?10 ? ?
`initGestureEvent` ? Yes ?10 ? ?
`rotation` ? Yes ?10 ? ?
`scale` ? Yes ?10 ? ?
`translationX` ? Yes ?10 ? ?
`translationY` ? Yes ?10 ? ?
`velocityAngular` ? Yes ?10 ? ?
`velocityExpansion` ? Yes ?10 ? ?
`velocityX` ? Yes ?10 ? ?
`velocityY` ? Yes ?10 ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? ? ? ? ? ?
`MSGestureEvent()` constructor ? ? ? ? ? ? ?
`expansion` ? ? ? ? ? ? ?
`gestureObject` ? ? ? ? ? ? ?
`initGestureEvent` ? ? ? ? ? ? ?
`rotation` ? ? ? ? ? ? ?
`scale` ? ? ? ? ? ? ?
`translationX` ? ? ? ? ? ? ?
`translationY` ? ? ? ? ? ? ?
`velocityAngular` ? ? ? ? ? ? ?
`velocityExpansion` ? ? ? ? ? ? ?
`velocityX` ? ? ? ? ? ? ?
`velocityY` ? ? ? ? ? ? ?