touch-action property

Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming).

Note  As of Internet Explorer 11, the Microsoft vendor prefixed version of this event (-ms-touch-action) is no longer supported and may be removed in a future release. Instead, use the non-prefixed name touch-action, which is better for standards compliance and future compatibility.

This property is read/write.

Internet Explorer 10

Syntax

touch-action: auto | none | [ [ [ pan-x || pan-y || pinch-zoom ? ] | manipulation ] || double-tap-zoom ? ]

Property values

One of the following values, a combination of the gesture values.

auto

Initial value. Indicates the browser will determine the permitted touch behaviors for the element.

none

The element permits no default touch behaviors.

pan-x

The element permits touch-driven panning on the horizontal axis. The touch pan is performed on the nearest ancestor with horizontally scrollable content.

pan-y

The element permits touch-driven panning on the vertical axis. The touch pan is performed on the nearest ancestor with vertically scrollable content.

pinch-zoom

The element permits pinch-zooming. The pinch-zoom is performed on the nearest ancestor with zoomable content. For more information about specifying content as zoomable, see the -ms-content-zooming property.

manipulation

The element permits touch-driven panning and pinch-zooming. This is the shorthand equivalent of "pan-x pan-y pinch-zoom".

double-tap-zoom

The element permits double-tap-zooming. The double-tap-zoom is performed on the full page. Double-tap-zoom is not available in Windows Store apps using JavaScript.

cross-slide-x

The element permits cross-sliding along the horizontal axis.

cross-slide-y

The element permits cross-sliding along the vertical axis.

CSS information

Applies ToAll elements
Mediainteractive
Inheritedno
Initial Valueauto

Standards information

Remarks

This property requires Windows 8 or later.

When a user touches an element, that element's touch-action property determines the default touch behaviors permitted for that contact, like panning or zooming.

The touch behavior is then performed on the nearest ancestor element that is capable of that behavior, unless an intermediate ancestor element specifies that the behavior is not permitted.

If a default touch behavior is not invoked, Document Object Model (DOM) events will be fired for that contact instead (see Gesture Events).

This property has no effect on mouse, keyboard, or touchpad interaction.

Examples

You might find the following example within a fingerpainting application to ensure that its canvas doesn't move when a user touches and manipulates it. When a user touches this canvas and moves his or her finger, no manipulation will occur. DOM events will be sent instead.


canvas#fingerpainter {
  touch-action: none;
}

The following example builds a list that pans in the x-direction but allows dragging or rearranging if the user pulls an item in the y-direction (similar to the Windows 8 Start screen) When the user touches a listEntry and moves his or her finger in the x-direction, the list will pan. If the user instead moves his or her finger in the y-direction, no pan will occur. DOM events will be sent instead.


div.list {
  overflow-x: scroll;
}

div.list > div.listEntry {
  touch-action: pan-x;
}

Starting with Windows 8.1, you can explicitly specify an element to have cross-slide behavior along a given axis using the cross-slide-x or cross-slide-y value. The following table lists various cross-slide touch-action value combinations and their behaviors.

CSS RuleResulting behavior
touch-action: cross-slide-x pan-y;The element cross-slides in the horizontal direction and pans vertically.
touch-action: cross-slide-x;The element cross-slides in the horizontal direction and fires pointer events for touch interactions along the vertical axis.
touch-action: cross-slide-x pan-x;
touch-action: cross-slide-x cross-slide-y;
touch-action: cross-slide-x manipulation;
Two mutually exclusive behaviors are specified for the same axis; the rule is ignored.

 

See also

CSSStyleDeclaration
Pointer Events

 

 

Show:
© 2014 Microsoft. All rights reserved.